我需要在週期內創建http.get請求到google api緩存服務。隨着我的NodeJS嘗試做我如何在http.get中運行週期
for(var i = 41923,postID=i; i <= 41925; i++) {
http.get(options, function(res) {
res.setEncoding('utf8');
res.on('data', function(data) {
responseBody += data;
}).on('end', function() {
if(getPostCacheUrl) {
var json = JSON.parse(responseBody);
json.items = json.items || [];
var cacheUrl = getPostCacheUrl(json);
parseCacheUrl(cacheUrl);
}
}).on('error', function(error) {
console.log('ERROR' + error.message);
});
});
}
但是我趕上錯誤:
undefined:1
: 200}{"response
^
SyntaxError: Unexpected token {
at Object.parse (native)
at IncomingMessage.<anonymous> (/Users/macbookpro/Sites/googlecache/title.js:30:41)
at IncomingMessage.emit (events.js:88:20)
at HTTPParser.onMessageComplete (http.js:137:23)
at Socket.ondata (http.js:1137:24)
at TCP.onread (net.js:354:27)
首先,你爲什麼會做這樣的事情。 http.get一個循環到41923?!糟糕的主意...... 無論如何,這似乎是一個json解析錯誤,檢查字符串,谷歌響應,如果它是有效的或不 – moe
如果不得不提及,你擴展你的身體與每個週期。在進入http.get – moe
之前清除你的responseBody,將我的代碼改爲for(var i = 41924,postID = i; i <= 41925; i ++){response} =''; 但仍然是相同的錯誤。 –