Я впервые создаю расширение в chrome (я не веб-разработчик и не разработчик javascript).Я добавляю в кодовую базу, которая находится в более старой версии javascript, которую я никогда не использовал (как только я окажусь на компьютере с этой кодовой базой, я отмечу, какая это версия, но я не могу вспомнить).
У меня есть класс с именем DownloadManager, и внутри него я вызываю chrome.downloads.onChanged , и внутри него я вызываю другую функцию внутри класса, но он не можетузнайте класс (я думаю, что это проблема).
// Class named DownloadManager
function DownloadManager(someData) {
this._myData = someData;
// function that does a thing, and tests run successfully
this.doAThing = function(someData) {
// Code in here that we assume works, and there's no issues.
}
if(chrome.downloads) {
chrome.downloads.onChanged.addListener(function(delta) {
// Error here
this.doAThing(delta.data);
}
}
}
Ошибка, которую я получаю, находится в строке this.doAThing(this._myData);
.Ошибка: Error in event handler for downloads.onChanged: TypeError: Cannot read property 'doAThing' of null at <URL>
.
Я предполагаю, что это проблема с областью видимости, и this.
ничего не значит там, и там нет доступа к doAThing
.Я уверен, что принятый аргумент того же типа, что и функция, объявленная выше.
Я добавлю больше данных, когда вернусь в эту среду.