AngularJS是否承诺调度可与`async` /`await`一起使用?

时间:2018-10-19 15:59:25

标签: angularjs typescript async-await es6-promise angular-promise

TypeScript不断建议我将AngularJS服务代码更改为async / await函数。

TypeScript suggestion

我的理解是,使用await关键字对第三方承诺完全可以,因为它只是调用then的语法糖。但是,我通常会返回Angular Promise,因为它们必须很好地与摘要循环配合使用。

TypeScript error

这段代码给我一个错误,因为async函数将它们的内容包装在ES6承诺中。鉴于返回的诺言仍与Angular产生的诺言挂钩,这对Angular调度有关系吗?还是应该在函数未显式返回ES6承诺的情况下向TypeScript提出建议async / await的问题?

1 个答案:

答案 0 :(得分:0)

适合以后查看的任何人。它不能很好地播放。 $tags函数将其内容包装在全局ES6 Promise中,因此,如果您等待AngularJS Promise最终会更改,但是将async Promise和ES6 Promise链接在一起时,调度很奇怪。是在DOM中反映更改之前的人为延迟。

另一方面,Angular 2+猴子修补了DOM事件源和承诺,因此$q应该可以在新版本上正常工作。