AWSAppSyncClient 订阅错误处理程序不会因 Angular 17+ 中的 websocket 授权错误而触发

问题描述 投票:0回答:1

我有一个 Angular 客户端(版本 17+),它使用 AWSAppSyncClient 库连接到 AWSAppSync。

 client!: AWSAppSyncClient<any>;

 this.client = new AWSAppSyncClient({
            url: 'https://<AppSync EndPoint domain>/graphql',
            region: '<Region>',
            auth: {
                type: 'OPENID_CONNECT',
                jwtToken: async () => await this.AuthProvider.accessToken()
            },
            disableOffline: true,
        });

订阅如下

this.client.hydrated().then((client: any) => {
            client.subscribe({ query:<GQLQUERY> }).subscribe({
                next: (data: any) => {
                    console.log('data', data);
                },
                error: (error: any) => {
                    console.error('error', error);
                },
            });
        });

而网络错误显示在开发工具 WS 消息中。但是,订阅的错误处理程序暂时不会被触发。

enter image description here 这方面的任何意见/指导都会有很大帮助。

套餐详情如下

    "@angular/common": "^17.1.3",
    "@angular/compiler": "^17.1.3",
    "@angular/core": "^17.1.3",
    "@angular/platform-browser": "^17.1.3",
    "@angular/platform-browser-dynamic": "^17.1.3",
    "@angular/router": "^17.1.3",
    "apollo-client": "^2.6.10",
    "aws-appsync": "^4.1.10",
    "graphql": "^14.7.0",
    "graphql-tag": "^2.12.6",
    "rxjs": "~7.8.1",

angular websocket graphql aws-appsync
1个回答
0
投票

从 AWSAppSyncClient 切换到 apollo/client 解决了我们的问题。

© www.soinside.com 2019 - 2024. All rights reserved.