Node.js 如何从阿波罗服务器发送错误消息

Node.js 如何从阿波罗服务器发送错误消息,node.js,graphql,react-apollo,apollo-client,apollo-server,Node.js,Graphql,React Apollo,Apollo Client,Apollo Server,这是我的密码 在apollo客户机中,我使用useMutation 阿波罗客户 const [addTodo, { loading, error, data }] = useMutation(gql); 阿波罗服务器 Mutation: { signUp: async (_, formSignUp, { models: { User }, res }) => { try { const user = new User(formSignUp);

这是我的密码

在apollo客户机中,我使用useMutation

阿波罗客户

  const [addTodo, { loading, error, data }] = useMutation(gql);
阿波罗服务器

 Mutation: {
    signUp: async (_, formSignUp, { models: { User }, res }) => {
      try {
        const user = new User(formSignUp);
        await user.save();
        const token = await user.generateAuthToken();
        res.cookie("darkAmasia", token, {
          httpOnly: true
        });
        return "string";
      } catch (error) {
        ?????????
      }
    }
  }
我应该在catch中写什么?要发送消息,
{status:400,error:true}
正在使用中,请执行以下操作:错误。
我听说
throw new ApolloError
用于这些目的。但我不知道如何做。

阅读有关错误处理的更多信息

您可以创建自己的错误类,该类扩展ApollError并将状态作为默认属性传递

    Mutation: {
    signUp: async (_, formSignUp, { models: { User }, res }) => {
      try {
        const user = new User(formSignUp);
        await user.save();
        const token = await user.generateAuthToken();
        res.cookie("darkAmasia", token, {
          httpOnly: true
        });
        return "string";
      } catch (error) {
        throw new ApolloError("Something went wrong", "BAD_INPUT",{status:400,error:true});
      }
    }
  }

为什么控制台中出现错误?如何避免这种情况发生
Uncaught(in promise)错误:GraphQL错误:后端请求失败
而不是抛出尝试使用returnNo,这也没有帮助。