奇妙的链式调用方法

来源:3-2 随堂小测试

慕婉清7427341

2018-08-25 09:54

我们知道带参的函数链式调用是不能这样的形式: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));注意第一个函数后面跟了一个‘()’重点!

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


写回答 关注

1回答

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

    ...

Promise 入门

带你入门 Promise。

31560 学习 · 42 问题

查看课程

相似问题