TypeScript不断建议我将AngularJS服务代码更改为async
/ await
函数。
我的理解是,使用await
关键字对第三方承诺完全可以,因为它只是调用then
的语法糖。但是,我通常会返回Angular Promise,因为它们必须很好地与摘要循环配合使用。
这段代码给我一个错误,因为async
函数将它们的内容包装在ES6承诺中。鉴于返回的诺言仍与Angular产生的诺言挂钩,这对Angular调度有关系吗?还是应该在函数未显式返回ES6承诺的情况下向TypeScript提出建议async
/ await
的问题?
答案 0 :(得分:0)
适合以后查看的任何人。它不能很好地播放。 $tags
函数将其内容包装在全局ES6 Promise中,因此,如果您等待AngularJS Promise最终会更改,但是将async
Promise和ES6 Promise链接在一起时,调度很奇怪。是在DOM中反映更改之前的人为延迟。
另一方面,Angular 2+猴子修补了DOM事件源和承诺,因此$q
应该可以在新版本上正常工作。