我在节点中运行一个非常简单的Javascript程序,每分钟从网站API提取数据,解析它,并在控制台上显示它。
结构如下所示:(更新)
var getData = function() {
try {
http.get(
{"host": "api.coindesk.com", "path": "/v1/bpi/currentprice.json"},
function(response) {
var body = '';
response.on('data', function(d) {
body += d;
});
response.on('end', function() {
var parsed = JSON.parse(body);
console.log(parsed.time.updatedISO + " ::: $" + parsed.bpi.USD.rate_float);
});
}
);
} catch(error) {
// Don't care if it fails, just wait and get the next minutes data
console.log(error);
}
}
SetInterval(getData, 60000);
当由于连接或解析错误而引发错误时,整个程序停止,我需要它忽略该错误并在60秒内再次尝试。如果我错过了一分钟的数据,我就不在乎了,我只需要它继续运行。
示例错误:
events.js:136
throw er; // Unhandled 'error' event
^
Error: getaddrinfo ENOTFOUND api.coindesk.com api.coindesk.com:80
at errnoException (dns.js:55:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:97:26)
我该怎么做?
答案 0 :(得分:1)
它会因TintColor
块内的return
而停止。删除catch
关键字,它将继续运行。
return