Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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 有棱角的承诺装饰者得到解决_Javascript_Angularjs - Fatal编程技术网

Javascript 有棱角的承诺装饰者得到解决

Javascript 有棱角的承诺装饰者得到解决,javascript,angularjs,Javascript,Angularjs,我正试图在承诺解决完成后收到一条消息 $provide.decorator('$q', function ($delegate) { var defer = $delegate.defer; $delegate.defer = function () { var deferred = defer(); console.log("defer"); return deferred; }; $delegate.resolv

我正试图在承诺解决完成后收到一条消息

$provide.decorator('$q', function ($delegate) {
    var defer = $delegate.defer;
    $delegate.defer = function () {
        var deferred = defer();
        console.log("defer");
        return deferred;
    };
    $delegate.resolve = function () {
        var resolved = resolve();
        console.log("resolve");
        return deferred;
    };
    return $delegate;
});

我不确定它是否完全正确,但想象一下,它看起来是这样的

$provide.decorator('$q', function ($delegate) {
    var defer = $delegate.defer;
    $delegate.defer = function () {
        var deferred = defer(),
            resolve = deferred.resolve;

        deferred.resolve = function(data) {
            console.log('resolved');
            return resolve(data);
        };

        return deferred;
    };
    return $delegate;
});

resolve
不是
$q
的方法,而是延迟对象的方法