У меня возникли трудности с использованием асинхронной функциональности в 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 вместе с библиотеками regenerator-runtime.js и es6-promise-auto.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 - нет.
Любая помощь по этому вопросу будет принята с благодарностью.
Спасибо,
Джонни
async
функции не поддерживаются в IE — caniuse.com/#search=async%20functions - person Addis   schedule 04.02.2020_context
, возможно, это нулевой объект. Кроме того, обратитесь к этой теме, чтобы преобразовать скрипт . - person Zhi Lv   schedule 05.02.2020