解决 TypeScript 中多个回调的模式
Pattern to solve multiple callbacks in TypeScript
我正在寻找解决这个经常出现的问题的方法。
假设我在 TypeScript 中有一个 class,如下所示:
class Example {
constructor() {
this.work();
this.doMoreWork();
}
work() {
// Work on some more borring async work
}
doMoreWork() {
// Going for some borring async work
}
finishedWorking() {
// Call me when work() and doMoreWork() is finished
}
}
我想在 work() 和 doMoreWork() 完成后调用 finishedWorking()。有谁知道我可以在 TypeScript 中使用的好模式来解决这个问题?
据我所知,async 和 await 现在不是一个选项?
As I know async and await is not an option right now
简单的回答:是的,不是一个选项
I would like to call finishedWorking() when work() and doMoreWork() are done
使用承诺!
constructor() {
Promise.all([this.work(),this.doMoreWork()])
.then(()=>finishedWorking());
}
work() {
return // some promise //;
}
doMoreWork() {
return // some promise //;
}
由于大多数用户浏览器本身不支持它(iojs 本身支持它!),您可以使用类似 Q 的内容:https://github.com/kriskowal/q
我正在寻找解决这个经常出现的问题的方法。
假设我在 TypeScript 中有一个 class,如下所示:
class Example {
constructor() {
this.work();
this.doMoreWork();
}
work() {
// Work on some more borring async work
}
doMoreWork() {
// Going for some borring async work
}
finishedWorking() {
// Call me when work() and doMoreWork() is finished
}
}
我想在 work() 和 doMoreWork() 完成后调用 finishedWorking()。有谁知道我可以在 TypeScript 中使用的好模式来解决这个问题?
据我所知,async 和 await 现在不是一个选项?
As I know async and await is not an option right now
简单的回答:是的,不是一个选项
I would like to call finishedWorking() when work() and doMoreWork() are done
使用承诺!
constructor() {
Promise.all([this.work(),this.doMoreWork()])
.then(()=>finishedWorking());
}
work() {
return // some promise //;
}
doMoreWork() {
return // some promise //;
}
由于大多数用户浏览器本身不支持它(iojs 本身支持它!),您可以使用类似 Q 的内容:https://github.com/kriskowal/q