zoukankan      html  css  js  c++  java
  • 如何实现一个串行promise

    异步执行任务A、B、C,。。。。。。

    1、使用数组的reduce方法,reduce里有四个参数,pre,next,index,arr,

    2、如果then方法里返回的是一个promise对象,那么执行下一个then 的时候必定是在上一个then执行完之后执行

    代码如下

    var createPromise = function(time) {
        return (resolve, reject)=>
        new Promise((resolve, reject)=>{
            setTimeout(()=>{
                console.log('timein'+time)
                resolve();
            }, time*1000)
        })
    }
    
    function serpromise(arr) {
        arr.reduce((pre, next, index, carr)=>{
            return pre.then(next)
        }, Promise.resolve())
    }
    
    var arr=[createPromise(2),createPromise(1),createPromise(3),createPromise(4),createPromise(5)];
    // Promise.resolve().then(createPromise(2)).then(createPromise(1))
    serpromise(arr)
    

      

  • 相关阅读:
    frame、center和bounds
    UILabel
    UIColor
    Url_Filter(Code)
    listView介绍
    C# 常用正则
    C++指针的概念
    指针所具有的四个要素:
    windows_sendEmail
    工作笔记
  • 原文地址:https://www.cnblogs.com/windseek/p/11715371.html
Copyright © 2011-2022 走看看