先日、クロネコヤマトの伝票番号から配送状況を取得するAPIを作りました。 このAPIですが、負荷軽減のため、呼び出し頻度が毎秒1回という制限を設けています。 制限があるのは良いとして、このAPIを使って複数(大量)のデータをJavaScriptで処理したい場合どうやって作ったらよいのだろうか? と思い、色々試行錯誤した事の過程と結果です。 長文になってしまったので、最初に目次を書いておきます。 その1:ループで処理する その2:ループ内でスリープさせる その3:setTimeout()で非同期処理させる その4:非同期処理の関数に汎用性を持たせる ところで、「毎秒1回」という呼び出し制限がない場合は? その5:画面が固まることなく,大量データを素早く処理する まとめ 結論だけ欲しい人は、最後の”まとめ”にある関数だけコピーすればOKです。 その1:ループで処理する 普通に考えると、当然fo
![[JavaScript]配列中の大量データを非同期でゆっくり処理する](https://cdn-ak-scissors.b.st-hatena.com/image/square/8d71ff5111e05619a10d29bb40d7aebaa75c8fbc/height=288;version=1;width=512/https%3A%2F%2Fs0.wp.com%2Fi%2Fblank.jpg)