js调用轮询接口
Posted SSS小龙SSS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js调用轮询接口相关的知识,希望对你有一定的参考价值。
项目中遇到需要很多个需要轮询处理的接口,然后简单的封装了下,做个记录,以后用到类似的直接copy
// polling-utils.js
/**
* @descripting 轮询功能
* @param {String} type 请求类型
* @param {String} url 地址
* @param {Object} data 请求数据
* @param {Number} delay 轮询间隔时间
*/
export default function polling(type, url, data, delay = 1000) {
return new Promise((resolve, reject) =>{
ajax[type](url, data).then(res => {
if (res.data === 'polling') {
setTimeout(() => {
resolve(polling(type, url, data));
}, delay)
} else {
resolve(res);
}
})
})
}
用法
import polling from 'utils/polling-utils';
polling('post', url, data).then(res => { console.log(res) })
以上是关于js调用轮询接口的主要内容,如果未能解决你的问题,请参考以下文章
Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段
javascript 使用async ajax调用在JS中进行轮询,该调用返回一个promise(修改自:https://davidwalsh.name/javascript-polling)