これで完全に困惑し、誰かがノードJS非同期とリクエストモジュールの組み合わせを手助けできるように願っています。私はAsyncに渡すダウンロードするファイルのリストを作成しようとしています。オブジェクトの配列には、上記のファイルをダウンロードして保存するのに必要なすべての情報が含まれています。何回ものデバッグの後、私はリクエストがそこを出ることさえしていないことを発見しました。私は理由を理解できません。ノード非同期とリクエスト、非同期で待機せずにリクエストが送信されない
async.each(missingFiles,
function (obj, cb) {
console.log(obj.url);
//var file = nfs.createWriteStream(obj.fullPath);
request(obj.url, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(response)
}
cb();
})
},
function (err) {
if (err) {
console.log("Async failed");
}
}
);
あなたのコンソールには何がありますか?リクエストが送信されないのはなぜですか?詳細な情報がなければ、この質問は話題にはなりません。 –
obj.url(要求したいアイテムが画面に表示されます)が、その後は次のobj.urlに移動しました。 if文を削除するようにコードを変更しただけで、すべての応答を出力すると、同じ効果が得られます。 – JeffH
このブロックはhttpリクエストハンドラの中にありますか?はいの場合は、非同期タスクが完了した後に応答が返されていることを確認してください。 –