问答详情
源自:3-2 随堂小测试

奇妙的链式调用方法

我们知道带参的函数链式调用是不能这样的形式:pro(x,y).then(pro(x,y));这样调用两个函数同时进行,那么如何简单优美地链式调用呢!重点来了,一般我们是这样写的:

function pro(x,y){

 return new Promise((resolve,reject)=>{

        setTimeout(() => {

            console.log(x);

            resolve(x);

        }, y*1000);

    })

}

直接return一个promise对象,但这样像刚才讲的一样,不能直接把函数放在promise里。

但是我们可以这样写:

function pro(x,y){

    return function(){

    return new Promise((resolve,reject)=>{

        setTimeout(() => {

            console.log(x);

            resolve(x);

        }, y*1000);

    })}

}

再试试pro('第一步',3)().then(pro('第二步',3));注意第一个函数后面跟了一个‘()’重点!

这样一个完美的链式调用成功了


提问者:慕婉清7427341 2018-08-25 09:54

个回答

  • _小_七_
    2018-10-07 00:49:30

    ...