そのため、取得したデータをビジュアライゼーションにレンダリングする前に、一連のHTTPGETリクエストが発生することを確認しようとしています。典型的な取引ですよね?
私はqueue.jsを使用しており、queue.js githubページ(https://github.com/mbostock/queue)でこれを確認しています。
または、何億もの非同期タスク(ここではクロージャの配列として表されます)をシリアルに実行したい場合は、次のようにします。
var q = queue(1);
tasks.forEach(function(t) { q.defer(t); });
q.awaitAll(function(error, results) { console.log("all done!"); });
Queue.jsは、Node.js内またはブラウザーで実行できます。
それで、私がしたことは、それぞれがMeteor.http.get呼び出し(私はMeteor.jsを使用しているので)を含む関数の配列を作成し、次にこの行を1行ずつ追跡しました。
何が起こっているのかというと、8つの関数が含まれ、すべてが各スロットに適切な関数のように見える配列にデータが入力されている間(そして、延期するためのコードのように渡されます)、1つだけです。実際に実行されます。
これが私が疑問に思っていることです。さて、全体として、延期するために8つが渡されるのに、なぜ1つの関数しか実行されないのでしょうか。しかし、具体的には、クロージャをぼんやりと理解しているので、私は実際に一連の関数を持っています。ドキュメントにはクロージャが具体的に記載されているので、私が見逃したものはありますか?それがすべての関数が実行されていない理由ですか?
これを見てくれてありがとう!