Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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,我正在尝试在我的承诺中添加一个中止函数。调试代码时,我可以看到函数按预期添加。但是,当对象返回到调用服务时,函数不再存在。我希望这是件小事 .factory('MatchmakerSearch', ['$resource', 'OBB_ENV_CONF', '$q', function ($resource, OBB_ENV_CONF, $q) { // Create the $resource object to handle the API requests function

我正在尝试在我的承诺中添加一个中止函数。调试代码时,我可以看到函数按预期添加。但是,当对象返回到调用服务时,函数不再存在。我希望这是件小事

.factory('MatchmakerSearch', ['$resource', 'OBB_ENV_CONF', '$q', function ($resource, 
  OBB_ENV_CONF, $q) {
  // Create the $resource object to handle the API requests
  function _query(params) {
    var _deferredAbort = $q.defer();

    var _request = $resource(OBB_ENV_CONF.API_HOST + 'int/matchMaker', {}, {
      'query': {
        method: 'GET',
        params: params,
        isArray: false,
        timeout: _deferredAbort.promise
      }
    });

    var _promise = _request.query().$promise.then( // Convert from $resource to $http
      function (response) {
        return response;
      }, function (response) {
        return $q.reject('Ajax call aborted');
      }
    );

    _promise.abort = function () {
      _deferredAbort.resolve();
    };

    _promise.finally(function () {
      _promise.abort = angular.noop;
      _deferredAbort = _request = _promise = null;
    });

    return _promise; // <~~~~ abort function exists here
   }
   return {
     query: _query
   }
 }
]);
.factory('MatchmakerSearch',['$resource','OBB_ENV_CONF','$q',function($resource,
OBB_环境_形态,$q){
//创建$resource对象以处理API请求
函数_查询(参数){
var_deferredAbort=$q.defer();
var_request=$resource(OBB_ENV_CONF.API_HOST+'int/matchMaker',{}{
“查询”:{
方法:“GET”,
params:params,
艾萨瑞:错,
超时:\ u deferredAbort.promise
}
});
var _promise=_request.query().$promise.then(//从$resource转换为$http
功能(响应){
返回响应;
},功能(回应){
返回$q.reject('Ajax调用中止');
}
);
_promise.abort=函数(){
_deferredAbort.resolve();
};
_promise.finally(函数(){
_promise.abort=angular.noop;
_延迟中止=_请求=_承诺=空;
});

返回_promise;//每次您将承诺与
链接,然后
捕获
,或
最后
您将收到一个新的承诺:

_searchRequest = MatchmakerSearch
    .query(buildQueryParams())  // Your customised promise.
    .then(function (result) {}) // a new promise returned here.
因此,
\u searchRequest
最终成为一个全新的Promise实例

关于此,

然后(successCallback、errorCallback、notifyCallback)–

此方法返回一个新的承诺,该承诺通过successCallback、errorCallback…的返回值被解析或拒绝

(原文强调)

_searchRequest = MatchmakerSearch
    .query(buildQueryParams())  // Your customised promise.
    .then(function (result) {}) // a new promise returned here.