Я понимаю, почему JSLint выдает здесь предупреждение, но я не знаю, как еще написать свой код, чтобы он проверялся.
Вот пример с отваркой.В приведенном ниже коде у меня есть объект, к которому мне нужно присоединить два прослушивателя событий: один для «завершения», а другой для «ошибки».Каждый указывает на свой собственный обработчик событий.Когда достигается какой-либо обработчик событий, я хочу удалить оба обработчика событий.Но я всегда получаю ошибку проверки при попытке удалить слушатель второго обработчика событий из первого обработчика событий.
var myFunction = function(obj) {
var doComplete = function() {
// ...Do something here to handle successful execution, then remove listeners
obj.removeEventListener('complete',doComplete,true);
obj.removeEventListener('error',handleError,true); // INVALID!
};
var handleError = function() {
// ...Do some error handling here and then remove event listener
obj.removeEventListener('complete',doComplete,true);
obj.removeEventListener('error',handleError,true);
};
obj.addEventListener('complete',doComplete,true);
obj.addEventListener('error',handleError,true);
obj.load();
};
Всякий раз, когда я получаю одно из этих предупреждений, это всегда означало, что я делаю что-то не так, но в этом случае я не вижу, как обойти проблему.Кто-нибудь знает, как правильно это сделать?
Ошибка проверки: Lint at line 5 character 41: 'handleError' is not defined.
(веб-клиент говорит Implied global: handleError 5
)