Jquery 在链式then调用中隐式管道解析和拒绝

Jquery 在链式then调用中隐式管道解析和拒绝,jquery,typescript,es6-promise,Jquery,Typescript,Es6 Promise,我正在用带有链式的Typescript编写大量带有承诺的代码。然后,调用如下所示: aFunc(originalT: T) { return new Promise((resolve:any, reject: any) => { this.otherFunc(originalT).then( newT => this.yetAnotherFunc(newT).then( resolve,

我正在用带有链式
的Typescript编写大量带有承诺的代码。然后,
调用如下所示:

aFunc(originalT: T) {
    return new Promise((resolve:any, reject: any) => {
        this.otherFunc(originalT).then(
            newT => this.yetAnotherFunc(newT).then(
                resolve,
                reject),
            reject);
    });
}
我的问题是,既然我只是通过管道解析和拒绝,有没有一种方法可以不显式地编写这个函数


注意:我不能使用async/await。

只需返回内部承诺即可。这会将它们链接在一起,以便在内部承诺解决之前,原始返回的承诺不会解决:

aFunc(originalT: T) {
    return this.otherFunc(originalT).then(function(newt) {
        return this.yetAnotherFunc(newT);
    });
}
创建一个承诺,然后执行
。然后(解决、拒绝)
,也是一个很好的选择。您几乎总是可以使用函数已经创建的承诺,并返回它们的一些派生,而不是像以前那样创建新的承诺


另外,我不懂typescript,所以如果我搞错了typescript的语法,希望你能从我在这里展示的内容中看到这个想法。

只需返回内部承诺即可。这会将它们链接在一起,以便在内部承诺解决之前,原始返回的承诺不会解决:

aFunc(originalT: T) {
    return this.otherFunc(originalT).then(function(newt) {
        return this.yetAnotherFunc(newT);
    });
}
创建一个承诺,然后执行
。然后(解决、拒绝)
,也是一个很好的选择。您几乎总是可以使用函数已经创建的承诺,并返回它们的一些派生,而不是像以前那样创建新的承诺


另外,我不知道typescript,所以如果我搞错了typescript语法,你可能会从我在这里展示的内容中看到这个想法。

那么如果任何链接调用失败,这将调用外部承诺上的拒绝?@Asik-是的,如果链中的任何位置遇到拒绝,它立即中止进一步的处理,外部承诺被拒绝。如果所有解析都成功,则外部承诺将以链中最后一个承诺的最终状态结束。因此,如果任何链接调用失败,这将调用外部承诺上的拒绝?@Asik-是,如果链中的任何位置遇到拒绝,它将立即中止进一步处理,并且外部承诺将被拒绝。如果所有解析都成功,则外部承诺将以链中最后一个承诺的最终状态结束。