我有一个 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 消息中。但是,订阅的错误处理程序暂时不会被触发。
套餐详情如下
"@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",
从 AWSAppSyncClient 切换到 apollo/client 解决了我们的问题。