Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Zone.js如何在幕后与Angular4合作_Javascript_Angular_Asynchronous_Zonejs - Fatal编程技术网

Javascript Zone.js如何在幕后与Angular4合作

Javascript Zone.js如何在幕后与Angular4合作,javascript,angular,asynchronous,zonejs,Javascript,Angular,Asynchronous,Zonejs,我在一个项目中使用Zone.js来处理异步功能,我正在阅读源代码以及它们之间的关系,但仍然不了解像Runguard这样的所有功能如何帮助我处理异步内容,以前有人单独使用Zone.js来帮助项目,我很想了解更多关于Runguard在zone中的工作原理的知识,如果有人能解释的话,这里是源代码的片段: Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) { if (ap

我在一个项目中使用Zone.js来处理异步功能,我正在阅读源代码以及它们之间的关系,但仍然不了解像Runguard这样的所有功能如何帮助我处理异步内容,以前有人单独使用Zone.js来帮助项目,我很想了解更多关于Runguard在zone中的工作原理的知识,如果有人能解释的话,这里是源代码的片段:

  Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {
            if (applyThis === void 0) { applyThis = null; }
            if (applyArgs === void 0) { applyArgs = null; }
            if (source === void 0) { source = null; }
            _currentZoneFrame = { parent: _currentZoneFrame, zone: this };
            try {
                try {
                    return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);
                }
                catch (error) {
                    if (this._zoneDelegate.handleError(this, error)) {
                        throw error;
                    }
                }
            }
            finally {
                _currentZoneFrame = _currentZoneFrame.parent;
      }
   };