异步/等待 JS Catch 在 try/catch 中不起作用

Async / Await JS Catch not working in try/catch

下面有javascript的部分。在我们的 ES6 项目中使用 async/await。我注意到现在突然间 404 响应代码没有命中。事实上 .json() 也抛出一个控制台错误但仍然没有命中。我希望在尝试立即抛出并转到 catch 代码块时出现任何错误。

async getDash(projectId, projectUserId) {
  try {
    const events = (await this.apiHttp
      .fetch(`${projectId}/users/${projectUserId}/participant-event-dash`)).json();
    return events;
  } catch (e) {
    // fail back to local (dev testing)
    return (await this.http
      .fetch(`${this.appConfig.url}dist/api/query/json/partic-event-dash.json`)).json();
  }
}

如果json()方法是异步的,应该多加一个await:

async getDash(projectId, projectUserId) {
  try {
    const events = await (await this.apiHttp
      .fetch(`${projectId}/users/${projectUserId}/participant-event-dash`)).json();
    return events;
  } catch (e) {
    // fail back to local (dev testing)
    return await (await this.http
      .fetch(`${this.appConfig.url}dist/api/query/json/partic-event-dash.json`)).json();
  }
}