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调用轮询接口的主要内容,如果未能解决你的问题,请参考以下文章