我有一个类errorHander,它定义了以下函数:
function handleError(errorData, callback, message) {
我现在可以将handleError函数作为参数传递给可以使用函数来处理错误消息的函数。例如:
var signboards = devicesService.query()
.$promise.then(function success(data) {
console.log(data);
$scope.devices = data;
}, errorHandler.handleError);
运行回调函数,并将第一个变量(errorData)设置为从服务器返回的任何错误信息。完整写出成功函数以显示参数传递的方式。
问题是,我想设置我原来的handleError函数中定义的附加参数。我想设置回调和消息参数。
这一切都可能吗?
答案 0 :(得分:1)
这里是纯js的演示,但应该很容易移植:
http://plnkr.co/edit/4xB5JkXPvxK4mhCW66ik?p=preview
您可以使用以下功能执行类似部分的操作:
$scope.errorCallback = function(errorData, callback, message) { ... }
$scope.errorCallbackPartial = function(callback, message) {
return function(errorData) {
errorCallback(errorData, callback, message)
}
}
因此,在您的示例中,errorHandler.handleError包含errorHandler.errorCallbackPartial(someCallback,someMessage),其中回调和消息由您编写。然后它将按预期工作。