問題:數據INFO_X有時隨機成爲空。NodeJS變量碰撞?與請求異步/同步
問題,
是否可變覆蓋彼此INFO_1 INFO_2 INFO_3因爲運行的NodeJS快速不像PHP它遵循一個序列/步步。
我在執行請求之前檢查了NULLS,但在執行第二個請求之前調試顯示它不是NULL,隨機,隨機變量在提交第二個請求時將變爲空。
我也檢查了我的源碼絕對不是返回null。
在發送第二個請求之前變量被覆蓋或者是什麼?請指教。
var request = require('request');
var urls = [ 'URL',
'URL',
'URL'];
urls.forEach(processUrl);
function processUrl(url) {
request(url, function (error, response, body) {
if (!error) {
var obj = JSON.parse(body);
for (var i = 0, len = obj['products'].length; i < len; ++i) {
var data = obj['products'][i];
var INFO_1 = data.INFO_1
var INFO_2 = data.INFO_2
var INFO_3 = data.INFO_3
request("URL/POSTINFO?INFO_1="+INFO_1+"&INFO_2="+INFO_2+"&INFO_3="+INFO_3+"&seller_id=", function(error, response, body) {
console.log(body);
});
}
}
});
}
請求功能是異步,的NodeJS心不是異步,因此我需要使用承諾運行要求這是一個異步功能時,使我的NodeJS代碼異步?我說得對嗎? – CodeGuru
就是這樣的。 '.forEach'基本上是調用異步函數,我會提供一個簡單的例子,我會在幾分鐘內更新我的答案。 – uglycode
好的,我提供了一個基本的簡單例子。請讓我知道這對你有沒有用。 – uglycode