javascript - 如何自动刷新 API 数据?
问题描述
我在这里搜索我应该如何从 api 刷新我的数据,我看到了一些东西,setInterval()
但我真的不知道。下面是我为获取股市数据所做的 api,我希望它是实时的,而无需刷新页面即可实时查看。首先是我用来在网络上显示数据然后发布以通过符号搜索它的获取,这是使用 req.body.stock_ticker 的地方。
app.get('/stocks.html', function (req, res) {
call_api( function(doneAPI) {
res.render('stocks',{
stock: doneAPI
});
},'GOOG');
});
//Set handlebar index POST route.
app.post('/', function (req, res) {
call_api(function(doneAPI) {
//posted_stuff = req.body.stock_ticker;
res.render('stocks',{
stock: doneAPI,
});
}, req.body.stock_ticker);
});
//create call_api function
function call_api(finishedAPI, ticker){
//API KEY zzz
request('https://cloud.iexapis.com/stable/stock/' + ticker + '/quote?token=zzz',{json:true},(err, res,body)=>{
if(err) {return console.log(err);}
if(res.statusCode === 200)
finishedAPI(body);
});
};
解决方案
如果你想每x毫秒调用一次 api,你需要调用函数setInterval
setInterval(() => {
call_api(finishedAPI, ticker);
}, <time-in-milliseconds>)
所以这段代码将运行call_api(finishedAPI, ticker)
每<time-in-milliseconds>
推荐阅读
- react-native - AsyncStorage 使用 Promise 中的布尔值
- php - 向 JSON 添加数据,如果有相同的值则停止函数
- python - 从多个列表添加到字典以创建 json
- sql - SQL 连接条件 - 不存在值
- python - Django initial_forms.is_valid() 返回 false
- flutter - 从子项更改状态时,小部件不使用 Riverpod 重建
- cell - 谷歌代码中的简单相对单元格引用
- java - 如何在启动期间忽略休眠 List<>[] 数组方法被扫描?
- javascript - 带有模式 a$ ap$ app$ appl$ apple$ 的单词的正则表达式
- r - rmarkdown 不会将表格显示为交互式