记录下javascript中setInterval()

内置方法setInterval()

实际用法:调用一个任务接口,返回一个id, 然后用id来多次调取查询接口,查询接口根据返回参数status来进行判断任务的进度,如任务进行中status为1,任务完成status为0,任务失败status为2

const request = require('superagent');
# 定义一个队列来存储任务id
const data = [];
# 调取任务接口,将返回id加入data中
async function make(){
	let url = 'xxxx';
	let res = await request.post(url);
	if(res.body && res.body.id){
		data.push(res.body.id)
	}
}
# 查询任务结果,如果达到最终状态就删除队列中的任务
async function get(id){
	let url = 'xxx';
	let res = await request.get(url).query({id:id});
	res = res.body;
	if(res && res.status){
		if(status === 0 || status === 2){
			let index = data.indexOf(id);
  			index >= 0 && video_tasks.splice(index, 1);
  			# 可以将结果存入数据库等
		}
	}
}
make();
setInterval(() => data.forEach(get), 2 * 1000);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值