首页 > 解决方案 > 有没有更优雅的方式将参数传递给链式承诺

问题描述

依靠外部作用域对象来保存我传递给我的承诺的参数感觉是一种不好的做法。有没有更好的方法来做到这一点,不依赖于“建设者”的范围。

提供的代码实现了我的目标,但它依赖于“builder”对象的外部范围。

funct1-4 都是承诺

let builder = {}
funct1()
    .then(a =>{
        builder.a = a; 
        // funct2 needs a
        return funct2(builder)
    })
    .then(b => {
        builder.b = b;
        // funct3 needs a,b
        return funct3(builder)
    })
    .then(c =>{
        builder.c = c;
        // funct4 needs a,b,c
        funct4(builder)
    })

标签: javascriptpromisescopemethod-chaining

解决方案


推荐阅读