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.