人生若只如初见

JS执行队列

电脑版发表于:2023/7/19 10:26
let promises = [];
/**
*
* @param {*} 执行Promise 执行完毕执行下一条
* @returns reduce为数组中的每一个元素依次执行回调函数
*/
function runPromiseByQueue(myPromises) {
    return myPromises.reduce(
        (previousPromise, nextPromise) =>
            previousPromise.then(() => {
            return nextPromise();
            }),
         Promise.resolve()
    );
}
/**
*
* @param {*} item 数据
* @returns 创建执行消息队列 Promise
*/
function createPromise(item) {
    return function() {
        return new Promise(resolve => {
            //请求接口执行完毕 resolve 返回
            this.接口().then(res => {
            resolve();
            });
        });
    };
}
//数据集合创建Promise对象集合
数据集合.map(item => {
    promises.push(createPromise(item));
});
//执行Promise集合
runPromiseByQueue(promises).then(() => {
//执行完毕
});


关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢