在打字稿中使生命周期钩子异步(Angular,Ionic)



我对使用带有生命周期钩子的异步/等待打字稿功能感到好奇。

该功能非常方便,但是可以使生命周期钩子异步吗?

我已经多次测试了这种方法,它按预期工作,但我找不到任何可靠的答案,这是好的做法,恐怕可能不是。

举例说明:

角:

async ngOnInit() {
await someAsyncFunction();
}

离子的:

async ionViewWillEnter() {
await someAsyncFunction();
}

我不知道"相对较新"——它自 2.1 年以来就一直存在。

该功能确实很方便,但是可以制作生命周期吗 钩子异步?

有几篇文章正在做你正在做的事情(只是谷歌异步等待ngOnInit(。没有什么可以表明用角度做是不行的。不知道离子。

但我找不到任何可靠的答案是好的做法,我是 怕可能不是。

良好做法的问题在于它们固执己见。就个人而言,我认为它使代码更具可读性。您可以查看 https://medium.com/@benlesh/async-await-it-s-good-and-bad-15cf121ade40 以查看另一种意见和更详细的分析。

根据我的经验,使用 async/await 与 Angular 生命周期钩子没有问题。据我所知,它也不是一个糟糕的编程实践。我曾经使用异步实现我的生命周期方法,以后没有任何问题。

如果您有任何疑问,也可以查看此线程以获取更多信息:https://github.com/angular/angular/issues/17420

最新更新