在Javascript中使用setInterval请求并保存API数据
我一直在尝试使用nodejs中的请求模块从API接收的数据填充我的var,并使用setInterval每隔一段时间更新我的var。但是,我无法将数据更新或保存到全局变量中。当控制台记录var时,它只显示空的arrayy[]。请帮帮我 设置间隔函数{ 请求uesthttps://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,ETH,XRP&tsyms=美元,日元, 函数错误、响应、正文{ 变量更新=函数{ dataCollections=JSON.parsebody; }; 使现代化 }; }, 4000; var-dataCollections=[] dataCollections.pushJSON.parsebody 编辑: 在间隔内调用你的更新价格板方法,它将每次更新/刷新你的价格板在Javascript中使用setInterval请求并保存API数据,javascript,node.js,request,setinterval,Javascript,Node.js,Request,Setinterval,我一直在尝试使用nodejs中的请求模块从API接收的数据填充我的var,并使用setInterval每隔一段时间更新我的var。但是,我无法将数据更新或保存到全局变量中。当控制台记录var时,它只显示空的arrayy[]。请帮帮我 设置间隔函数{ 请求uesthttps://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,ETH,XRP&tsyms=美元,日元, 函数错误、响应、正文{ 变量更新=函数{ dataCollections=
setInterval(function() {
request("https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,ETH,XRP&tsyms=USD,JPY",
function(error, response, body) {
var update = function(){
updatePriceBoard(JSON.parse(body)); //It will Update/Refresh your price board
};
update();
});
}, 4000);
function updatePriceBoard(){
//Your Business logic...
}
fsyms=BTC、ETH、XRP和tsyms=USD、JPY、,
方法:获取,
超时:10000,
下面是:对,
最大重定向:10
},函数错误,响应,正文{
if!error&&response.statusCode==200{
控制台。logbody;
dataCollections.pushJSON.parsebody;
}否则{
console.log'error'+response.statusCode;
}
};
}, 4000; 您没有将响应数据推送到您的var,请参阅以下代码:
setInterval(function() {
request("https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,ETH,XRP&tsyms=USD,JPY",
function(error, response, body) {
var update = function(){
dataCollections.push(JSON.parse(body));
};
update();
});
}, 4000);
var dataCollections = [];
谢谢你的回答!当我尝试关联数据收集时,它仍然显示一个空数组。。另外,我不想一直将数据推送到数组中,因为我试图使用传递给EJS的var,它将像价格板一样实时工作。有更好的解决方案吗??我也计划在EJS上使用setInterval每次刷新我的价格板页面。。
setInterval(function() {
request("https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,ETH,XRP&tsyms=USD,JPY",
function(error, response, body) {
var update = function(){
dataCollections.push(JSON.parse(body));
};
update();
});
}, 4000);
var dataCollections = [];