AngularJS中then函数中的访问方法参数
我在AngularJS中有以下代码。我无法在'updatePreferenceComplete'的then函数中访问'preference'的原始方法参数 如何访问上述then函数中的“首选项”原始参数?AngularJS中then函数中的访问方法参数,angularjs,Angularjs,我在AngularJS中有以下代码。我无法在'updatePreferenceComplete'的then函数中访问'preference'的原始方法参数 如何访问上述then函数中的“首选项”原始参数? function updatePreference(preferenceId, preference) { var prefId = angular.isNumber(preferenceId) ? preferenceId : 0; logge
function updatePreference(preferenceId, preference) {
var prefId = angular.isNumber(preferenceId) ? preferenceId : 0;
logger.info('updatePreference: fetching; preferenceId: ' + prefId);
var route = userPreferenceConstants.endPoints.PREFERENCE_BY_ID
.replace('{prefId}', prefId);
return $http.put(route, preference)
.then(updatePreferenceComplete)
.catch(function (message) {
exception.catcher('XHR failed for updatePreference')(message);
});
function updatePreferenceComplete(response) {
//cannot access preference parameter
logger.info('updatePreference: complete');
return response.data;
}
}
你能在fiddle中复制吗?你在哪个浏览器上测试这个?我正在从func警报中获取正确的
变量。在此上下文中应该可以访问首选项。。。你的变量也会出现在我的提醒中。@Sunil不,我把“variable from func”硬编码到它里面。@Sunil是的,这就是为什么你在代码中看不到它的原因。
return $http.put(route, preference)
.then(function(response) {
updatePreferenceComplete(response, preference);
})
.catch(function (message) {
exception.catcher('XHR failed for updatePreference')(message);
});
function updatePreferenceComplete(response, preference) {
// now you can access preference, because it's passed as argument to the function
logger.info('updatePreference: complete');
return response.data;
}