私はAPIからデータを取得しようとしていますが、呼び出しごとに1000個のアイテムしか返さないため、すべてのデータを取得するまで再帰的に行います。非同期API呼び出しを再帰的に呼び出します。
私はこのようなものを使用したい、すべてのコールの後、私は
コールが同期した場合をチェックする必要がありますので、合計であり、事前にどのように多くの項目がわからない:
function fetch(all, start) {
const newData = getData(start, 1000);
all = all.concat(newData);
return (newData.length === 1000) ? fetch(all, all.length) : all;
}
ただし、getData()
の呼び出しは非同期です。 Promise.all()
を使用すると、あまり必要なコールがあらかじめわからないため、一連のコールを準備できないため、機能しません。
私は発電機でasync
/await
でこれを解決できると感じていますが、どうすればよいか分かりません。誰かが私を正しい方向に向けることができますか?
それが違いを作る場合、私は角4
驚くべきことに、それはそれほど簡単でした。ありがとう! –
ようこそ。はい、そういうわけで、async/awaitは素晴らしいです。 – estus