Error handling 如何处理Apollo server中的一系列错误

Error handling 如何处理Apollo server中的一系列错误,error-handling,graphql,apollo,apollo-server,Error Handling,Graphql,Apollo,Apollo Server,我正在使用Apollo GraphQL服务器和类型GraphQL以及RESTDataSource数据源与第三方API通信。我的一些变体会同时进行多个REST api调用,如下所示: // Simplified mutation code for brevity const createUsers = async (users: User[], context: Context) { const { usersDataSource } = context; const apiReques

我正在使用Apollo GraphQL服务器和
类型GraphQL
以及RESTDataSource数据源与第三方API通信。我的一些变体会同时进行多个REST api调用,如下所示:

// Simplified mutation code for brevity
const createUsers = async (users: User[], context: Context) {
  const { usersDataSource } = context;

  const apiRequests = users.map(user => {
    return usersDataSource.createUser(user);
  });

  const results = await Promise.allSettled(apiRequests);

  const errors = results.filter(({ status }) => status === 'rejected') as PromiseRejectedResult[];

  if (errors.length > 0) {
    // TODO: throw api errors as list of GraphQL errors
  }

  return users;
}
我想抛出所有潜在的api错误,以便客户端在出现问题时可以看到它们