我试图在promise中调用异步函数,但是.then()中的代码永远不会到达,.catch()也没有,也没有任何调试信息,所以我不知所措。
如果我在代码中的其他地方拨打同一个异步函数,那就可以了!
我的怀疑是我错误地实现了蓝鸟的承诺,但我在代码中看不到任何反模式。 这是一些伪代码,基本上就是我的代码所做的:
composer.json
谢谢!
答案 0 :(得分:0)
return new Promise((resolve: any, reject: any) => {
这是一个反模式!除了将回调包装到其中之外,您不需要Promise构造函数。在其他所有情况下,您都可以退回链条:
return this.execute()
.then(result => {
return this.execute2(result);
}).then((result2: Array<any>) => {
return this.problemfunction(result2);
})
现在问题似乎是,你永远不会catch
拒绝这个:
someAsyncCall()
当你以反模式方式包装它时,错误不会冒泡。