У меня есть функция обработки глобальных ошибок для запроса $ http.
var errorHandler = function (err) {
// log the error
return {status: err.status, data: {result: -1}}
}
var get = function (url) {
var i = 1 // I have a temp variable here, and want to pass it to errorHandler
return $http({
method: 'GET',
url: ***,
timeout: 5000,
}).then(function (response) {
// do some thing
return response
}, errorHandler)
}
Как передать переменную i в errorHandler? Я знаю, что могу это сделать:
var get = function (url) {
var i = 1 // I have a temp variable here, and want to pass it to errorHandler
return $http({
method: 'GET',
url: ***,
timeout: 5000,
}).then(function (response) {
// do some thing
return response
}, function (err) {
// log the error
console.log('i', i) // access i
return {status: err.status, data: {result: -1}}
})
}
Но если я хочу использовать глобальную ErrorHandler, что я должен делать?
==============
Update:
Согласно ответу Leandro Zubrezki, мы можем сделать это следующим образом:
var errorHandler = function (err, i) {
// log the error
return {status: err.status, data: {result: -1}}
}
var get = function (url) {
var i = 1 // I have a temp variable here, and want to pass it to errorHandler
return $http({
method: 'GET',
url: ***,
timeout: 5000,
}).then(function (response) {
// do some thing
return response
}, function(error){
errorHandler(error, i)
})
}
Этот это глупый вопрос от новичка. :)
все, что вы хотите сделать, это обычный метод для обработки ошибок .. если вам нужна я только для этой страницы или бизнеса, то как же оно станет общим ?? если вы говорите, что я могу передать какое-то значение, тогда попробуйте использовать это 'errorHandler (err, {i: i});' catch добавить параметр значения в этот метод –
@AnikIslamAbhi, можете ли вы дать мне образец, я пробовал свой метод , он не может работать. – Leon