【发布时间】:2018-10-24 15:06:08
【问题描述】:
对 Angular2+ 中有关 zone.js 的文章有疑问。我正在阅读article from blog.angular-university.io。我认为有些部分有点神秘,并且有一些问题,我不确定我是否理解正确。文章称:
区域只不过是一个存在的执行上下文 多个 Javascript VM 执行轮次。
上述语句是否意味着堆叠在事件队列中的多个异步回调具有一个执行上下文,因此this 的值相同?
这是一种通用机制,我们可以使用它来添加额外的功能 到浏览器。 Angular 在内部使用区域来触发更改 检测。
Angular 正在运行时更改 async 函数(settimeout、AJAX 等)。这是否意味着除了完成回调的回调之外,Angular 还可以使用其他功能来检测更改
我目前的理解正确吗?如果不是,有什么问题?
【问题讨论】:
-
'执行上下文'与'this'无关。从字面上看,它是执行代码的上下文。区域补丁 asynchronous 功能,但 not
asyncfunctions。 这是否意味着除了完成回调的回调 - 我不确定这意味着什么,但它会检测到 在调用结束时 任何异步 API 的更改。因此,是否有嵌套的同步函数调用并不重要。如果还有对异步 API 的调用,这些调用将被堆叠。
标签: javascript angular zone.js angular-changedetection