我在我的node.js(express)應用程序中使用請求模塊。有時會發生這樣的StatusCode相關的錯誤:http statusCode有時未定義
TypeError: Cannot read property
'statusCode' of undefined at Request._callback
這是我的全部代碼:
request("https://www.googleapis.com/youtube/v3/search?part=snippet&q=" + docs[0].title + "&type=video&key=(some-key-variable)", {
json: true
}, function(error, response, resultData) {
var yArr = [];
if (!error || response.statusCode == 200) {
for (var i = 0; i < config.youtubeVideoCount; i++) {
var vArr = resultData.items[i];
yArr.push(vArr);
}
} else {
console.log("can't find video");
}
});
response.statusCode
給出了一個錯誤的時候。我如何控制請求成功?請求模塊中有bug嗎?爲什麼有時候statusCode未定義?我認爲statusCode應該每次都可用。
答案 可能是響應超時問題,你應該做一個if語句像這樣;
if (response === undefined || response.statusCode != 200){ console.log("there is a prob"); }
這段代碼首先控制響應變量,然後response.statuscode,所以如果響應不確定不控制response.statusCode因此,我們不能得到任何錯誤。
如果錯誤是truthy然後'response'我是不確定的,但它仍然會檢查'response.statusCode' –
當statusCode是未定義的,readyState的值是什麼?我看到瀏覽器環境(錯誤地)在readyState爲2或更大之前不會設置狀態值。 – dgvid
沒有readyState屬性進入響應,控制檯日誌未定義everyime –