使用$ apollo.query处理NuxtVueApollo错误

问题描述

在我的nuxt应用程序中,我试图手动调用nuxt阿波罗(v。4.0.1)查询,并处理由此产生的错误。我已经尝试了外部try catch和通过查询的错误方法,但是,它似乎都没有到达任何一个处理程序。

df1[na.omit(match(df2$c,df1$a)),]

在上面的示例中,没有输出任何控制台日志,相反,我得到的只是控制台中默认的Apollo错误消息。

import java.util.*;

public class Rando
{
    public static void main(String args[])
    {
        List<Object> randomStuff = new ArrayList<>();

        randomStuff.add(1);
        randomStuff.add(new Date());
        randomStuff.add("A note");

        System.out.println(randomStuff);

        Map<String,Object> randomMap = new HashMap<>();

        randomMap.put("id",1);
        randomMap.put("date",new Date());
        randomMap.put("note","This is another note");

        System.out.println(randomMap);
    }
}

我正在尝试检查错误响应中的状态代码以正确处理,但是我似乎无法理解代码中的错误。

关于为什么不调用错误方法的任何想法吗? 预先感谢

解决方法

您可以在nuxt.config.js

的apollo部分声明一个errorHandler。
export default {
   // ===
   apollo: {
        clientConfigs: {
            default: {
                httpEndpoint: `${process.env.BASE_URL}/graphql`
            }
        },errorHandler: '~/plugins/errorhandler.apollo.js'
    },// other nuxt config like loading,css,plugins
}

~/plugins/errorhandler.apollo.js中,您可以输入类似的内容

export default (graphqlError,{ store,error,redirect,route }) => {
    console.log({ graphqlError })

    const { networkError,message,gqlError,graphqlErrors } = graphqlError

    // handle error

    return error({ statusCode: 503,message: message })
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...