У меня есть новое приложение реагирования, созданное с помощью create-реагировать-приложение, и я получаю ошибку компиляции:
Module parse failed: Cannot use keyword 'await' outside an async function (2:562)
Проблема в том, что ожидание находится внутри асинхронной c функции, как видно здесь:
export async function request<T>(
path: string,
params: RequestInit = {},
responseHandler: (resp: Response) => Promise<ParsedResponse<T>> = getParsedResponse
): Promise<ParsedResponse<T>> {
const resp = await fetch(path, {
...{
headers: {
Accept: "application/json"
},
credentials: "same-origin"
},
...params
});
return await responseHandler(resp);
}
Вывод скомпилированного кода выглядит следующим образом:
return _context.abrupt("return",function(){var resp=await fetch(path,_objectSpread({},{headers:{Accept:"application/json"},credentials:"same-origin"},{},params));return await responseHandler(resp);}());case 3:case"end":return _context.stop();}}},_callee);}));
Кажется, что компилятор удаляет асин * c часть функции, и поэтому мы получаем ошибка компилятора.
Я не уверен, есть ли способ обойти это, но другие проекты используют тот же код и не имеют проблем, поэтому я предполагаю, что это проблема конфигурации. Однако я не смог найти решение.
Спасибо за любую помощь, которую вы можете предоставить.