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-是,如果链中的任何位置遇到拒绝,它将立即中止进一步处理,并且外部承诺将被拒绝。如果所有解析都成功,则外部承诺将以链中最后一个承诺的最终状态结束。