iho*_*ond 6 javascript async-await angular
我有一个角度组件,在 ngOnDestroy 钩子内部,我想添加异步函数,使 http 调用可以删除某些内容。我想知道内存是如何管理的以及回调函数的范围是什么?如果垃圾收集器决定通过引用释放内存是否意味着该组件将保留在内存中直到删除回调完成?这是stackblitz 演示和我正在测试的示例。
第一的:
ngOnDestroy() {
this.http.delete(...)
}
Run Code Online (Sandbox Code Playgroud)
由于我没有提供 .then(...) 回调,这是否意味着组件可以从内存中完全卸载?
第二:
async ngOnDestroy() {
await this.http.delete(...)
}
Run Code Online (Sandbox Code Playgroud)
为什么组件会被销毁并且不等待 delete() 完成?
第三:
ngOnDestroy() {
this.http.delete(...).then(console.log);
}
Run Code Online (Sandbox Code Playgroud)
由于我提供了回调函数,这是否意味着组件将保留在内存中直到回调函数完成?
我怎样才能看到内存分配中发生了什么?有没有办法查看垃圾收集器的作用,或者在从内存中释放某个对象时指定回调函数?谢谢
编辑
根据这篇内存管理 MDN 文章,自 2012 年以来,引用计数算法已被标记和清除所取代,如果我使用 --expose-gc 标志运行我的 ng 服务节点进程,我可以暴露垃圾收集器
| 归档时间: |
|
| 查看次数: |
1632 次 |
| 最近记录: |