AngularJS promise 调度是否与 `async`/`await` 一起工作?
Does AngularJS promise scheduling work with `async`/`await`?
TypeScript 不断建议我将 AngularJS 服务代码更改为 async
/await
函数。
我的理解是,使用 await
关键字对于第三方承诺来说完全没问题,因为它只是调用 then
的语法糖。但是,我通常 return Angular promises 因为它们是很好地处理摘要循环所必需的。
这段代码给我一个错误,因为 async
函数将它们的内容包装在 ES6 promise 中。考虑到 returned promise 仍然与 Angular-spawned promise 挂钩,这对 Angular 调度有影响吗?或者我是否应该向 TypeScript 提交一个问题以在函数未明确 return ES6 承诺时建议 async
/await
?
对于以后查看此内容的任何人。它不能很好地播放。 async
函数将它们的内容包装在一个全局的 ES6 promise 中,所以如果你在 AngularJS promises 中等待,变化最终会发生,但是当你将 $q
promises 和 ES6 promise 链接在一起时,调度很奇怪,所以在 DOM.
中反映更改之前,通常会有人为延迟
另一方面,Angular 2+ monkey-patches DOM 事件源和承诺,所以 async-await
应该可以像预期的那样在新版本中工作。
TypeScript 不断建议我将 AngularJS 服务代码更改为 async
/await
函数。
我的理解是,使用 await
关键字对于第三方承诺来说完全没问题,因为它只是调用 then
的语法糖。但是,我通常 return Angular promises 因为它们是很好地处理摘要循环所必需的。
这段代码给我一个错误,因为 async
函数将它们的内容包装在 ES6 promise 中。考虑到 returned promise 仍然与 Angular-spawned promise 挂钩,这对 Angular 调度有影响吗?或者我是否应该向 TypeScript 提交一个问题以在函数未明确 return ES6 承诺时建议 async
/await
?
对于以后查看此内容的任何人。它不能很好地播放。 async
函数将它们的内容包装在一个全局的 ES6 promise 中,所以如果你在 AngularJS promises 中等待,变化最终会发生,但是当你将 $q
promises 和 ES6 promise 链接在一起时,调度很奇怪,所以在 DOM.
另一方面,Angular 2+ monkey-patches DOM 事件源和承诺,所以 async-await
应该可以像预期的那样在新版本中工作。