如何从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) {
        ?????????
      }
    }
  }

我该怎么写?在useMutation错误中发送消息{status:400,error:true}。 我听说throw new ApolloError用于这些目的。但是我不知道该怎么做。

wenfang204 回答:如何从Apollo服务器发送错误消息

详细了解错误处理here

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

    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});
      }
    }
  }
本文链接:https://www.f2er.com/2990833.html

大家都在问