我对承诺很陌生,我想了解什么是避免承诺的“回调地狱”的正确方法,因为我和使用回调有着同样的问题。
foo(a: number): Promise<boolean>{
return doSomething(a).then((b)=>{
return doAnotherThing(b).then((c)=>{
return true;
})
})
}看看这个金字塔..。
你怎么能避免这种情况?
提前感谢
发布于 2016-09-30 13:12:32
只是连锁承诺,而不是嵌套它们:
foo(a: number): Promise<boolean> {
return doSomething(a).then((b) => {
return doAnotherThing(b);
}).then((c) => {
return true;
});
}发布于 2016-09-30 13:13:51
您可以做出承诺,返回一个承诺(或任何其他值),然后用.then()进行链接。
foo(a: number): Promise<boolean>{
return doSomething(a).then((b)=>{
return doAnotherThing(b);
}).then((c)=>{
return true;
});
}发布于 2016-09-30 13:19:44
如果您使用babel,您可以使用ES2015等待。
例如:
async function foo(a) {
var b = await doSomething(a);
var c = await doAnotherThing(b);
return true;
}预置: ES2015,第3阶段
https://stackoverflow.com/questions/39792360
复制相似问题