Javascript TS编译器/create react应用程序从函数中删除异步

Javascript TS编译器/create react应用程序从函数中删除异步,javascript,reactjs,typescript,webpack,babeljs,Javascript,Reactjs,Typescript,Webpack,Babeljs,我使用create react app创建了一个新的react app,但出现编译错误: Module parse failed: Cannot use keyword 'await' outside an async function (2:562) 问题是,wait在异步函数中,如下所示: export async function request<T>( path: string, params: RequestInit = {}, responseHandler

我使用create react app创建了一个新的react app,但出现编译错误:

Module parse failed: Cannot use keyword 'await' outside an async function (2:562)
问题是,wait在异步函数中,如下所示:

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);
}
编译器似乎删除了函数的异步部分,因此我们得到了编译器错误

我不确定是否有办法解决这个问题,但其他项目使用相同的代码,没有问题,所以我认为这是一个配置问题。然而,我还没有找到解决办法


感谢您提供的帮助。

因此,我重新排列了文件中的方法,编译工作正常。我认为这与以下巴别塔问题有关:


不过我可能错了。无论如何,这不是配置错误或其他什么,只是一个怪癖。

我相信您发布的代码顶部缺少一些行。您是对的。修复,谢谢。当我将您的代码粘贴到
create react app
生成的项目中时,您的代码会为我编译。无
模块解析失败
。因此,我同意,这是一个配置问题。你能分享更多你的配置吗?
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);}));