目前正在学习Angular 2.0,我来到了Zone.js文件,我想知道Zone.js文件的目的是什么,以及它如何使我的应用程序更好.
NgZone中hasPendingMacrotasks或hasPendingMicrotasks有什么区别?文档似乎缺乏信息.我所知道的是他们返回一个布尔值.但究竟他们究竟要检查什么?什么是微观任务?什么被认为是宏观任务?
class NgZone {
static isInAngularZone() : boolean
static assertInAngularZone() : void
static assertNotInAngularZone() : void
constructor({enableLongStackTrace = false}: any)
run(fn: () => any) : any
runGuarded(fn: () => any) : any
runOutsideAngular(fn: () => any) : any
onUnstable : EventEmitter<any>
onMicrotaskEmpty : EventEmitter<any>
onStable : EventEmitter<any>
onError : EventEmitter<any>
isStable : boolean
hasPendingMicrotasks : boolean
hasPendingMacrotasks : boolean
}
Run Code Online (Sandbox Code Playgroud)
我最好的猜测是,micro指的是来自特定类的任务,而macro可能指的是与整个应用程序相关的任务.有人可以验证或确认这个假设吗?或者说明具体细节?
NgZone文件:
https://angular.io/docs/ts/latest/api/core/index/NgZone-class.html#!#hasPendingMicrotasks-anchor