我正在尝试模拟两个异步方法,但我没有弄清楚它背后的概念。我有plunker这里我试图计算斐波纳契数,同时做一些额外的工作。问题所需的代码位于src/app.ts
。操作如下:
我希望结果像
loading status status status finished
但我得到
loading finished status status status
因为我的承诺会锁定UI,而我却无法理解如何让它不这样做。如果不查看示例,则promise的代码如下所示:
var promise = new Promise((resolve, reject) =>
resolve(this.fibonacci(num));
);
promise.then(result => {
this.result = result;
this.status += " finished";
});
我缺少什么?