У меня возникли сложности с использованием функции asyn c в IE. В принципе, моя реализация отлично работает в современных браузерах, но я столкнулся с ошибкой в IE11. Мой оригинальный код выглядит следующим образом.
const instance = this;
var success;
try {
success = await aSpecificLoader(parameters);
const thisObject= success.ref;
thisObject.on('loadstart', () => {
instance.callAnotherFunction(thisObject);
});
} catch (error) {
console.error("failed to load desired object", error);
}
},
Я использую babel 7.3.4 с включением библиотек регенератор-время выполнения и включительно. js и es6-обещание-авто. js мой переносимый код следующим образом:
var _this = this;
return _asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee() {
var instance, success, thisObject;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
instance = _this;
_context.prev = 1;
_context.next = 4;
return aSpecificLoader(parameters);
case 4:
success = _context.sent;
thisObject = success.ref;
thisObject.on('loadstart', function () {
instance.callAnotherFunction(thisObject);
});
_context.next = 12;
break;
case 9:
_context.prev = 9;
_context.t0 = _context["catch"](1);
console.error("failed to load desired object", _context.t0);
case 12:
case "end":
return _context.stop();
}
}
}, _callee, null, [[1, 9]]);
}))();
},
Ранее я сталкивался с некоторыми похожими проблемами, но в данном конкретном случае _context (в случае 4) определен, а _context.sent - нет.
Любая помощь по этому вопросу будет принята с благодарностью.
Спасибо,
Джонни