Angular:AWSAppSyncClient与ApolloClient不兼容

时间:2018-11-28 14:51:58

标签: angular graphql apollo-client aws-appsync

我正在尝试使用Apollo连接到Angular项目的AWSAppSync(Graphql)。

我做了什么:

import AWSAppSyncClient from 'aws-appsync';
import { AUTH_TYPE } from 'aws-appsync/lib/link/auth-link';
import {Apollo } from 'apollo-angular';

export class GraphqlService {

  constructor(private apollo: Apollo) {
  }

  hydrated() {
    const appsyncClient = new AWSAppSyncClient({
      url: appSyncConfig.graphqlEndpoint,
      region: appSyncConfig.region,
      auth: {
        type: AUTH_TYPE.API_KEY,
        apiKey: appSyncConfig.apiKey,
      }
    });
    this.apollo.setClient(appsyncClient);
    return appsyncClient.hydrated();
  }

}

我编译失败。

  

“ AWSAppSyncClient”类型的参数不是   可分配给“ ApolloClient”类型的参数。

任何建议都值得赞赏。

1 个答案:

答案 0 :(得分:-1)

要克服类型错误,您必须等待客户端合并并在promise解决后返回变量。

this.appsyncClient.hydrated().then(
  client => {
    this.apollo.setClient(client);
  }
)