Zone.js 将错误的 currentZone 值传递给 onInvoke 挂钩

Zone.js passes wrong currentZone value to onInvoke hook

那里。

根据 ZoneSpec 接口的注释(位于 zone.ts 文件中),onInvoke 挂钩必须接收 currentZone 作为第二个参数。如果我创建拦截区域,那么对该区域的引用应该作为第二个参数传递。

以下是文档摘录:

/* Allows interception of the callback invocation.
@param parentZoneDelegate Delegate which performs the parent [ZoneSpec] operation.
@param currentZone The current [Zone] where the current interceptor has beed declared.
@param targetZone The [Zone] which originally received the request.
@param delegate The argument passed into the run method.
@param applyThis The argument passed into the run method.
@param applyArgs The argument passed into the run method.
@param source The argument passed into the run method.
*/
onInvoke?:
    (parentZoneDelegate: ZoneDelegate, currentZone: Zone, targetZone: Zone, delegate: Function,
     applyThis: any, applyArgs: any[], source: string) => any;

我创建了一个 interceptZone,我认为它应该作为当前区域传递给我的挂钩方法。但出于某种原因,我收到了与 targetZone 相同的值。 我创建了一个演示 HERE,它描述了所描述的问题。

我是不是漏掉了什么?

那是库中的错误。开发人员证实了这一点。 详细信息 HERE