Angular: AWSAppSyncClient не совместим с ApolloClient - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь использовать Apollo для подключения к AWSAppSync (Graphql) для моего проекта Angular.

что я сделал:

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 голосов
/ 26 февраля 2019

Чтобы обойти ошибку типа, нужно дождаться, чтобы клиент выпал в гидрат, и вернуть переменную после разрешения обещания.

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