私はd3でビジュアライゼーションを作成するプロジェクトを開発中です。 私は、順番にロードされるファイル名を持つ配列を持っています。Javascript - Async
しかし、配列を実行してそれぞれのメソッドを呼び出すと、配列内の2番目の要素は、最初の要素の読み込みが完了する前に呼び出されます。
for(j=0;j<chosenAirports.length;j++)
{
var fileName = chosenAirports[j];
var splitData = fileName.split("_");
readFile(splitData[0],selectedYear,splitData[0] + "_" + selectedYear);
}
readFileは、各配列要素を呼び出すための関数です。しかし、ある要素のreadFileが完了する前に、ループ内の次の要素が呼び出されています。
これはjavascriptの非同期機能によるものだと思います。 誰も私がこれを避ける方法を提案することができます。
助けていただければ幸いです。
'readFile()'という名前を使ってすべての頭を悩ましているので、あなたの 'readFile()'が実際に何をしているのか分かりますか?関数が入力、出力、内部的に何の詳細も持たないブラックボックスであれば、私たちは何らかの前提や助けをすることはできません。 – gelliott181