我正在尝试使用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”类型的参数。
任何建议都值得赞赏。
答案 0 :(得分:-1)
要克服类型错误,您必须等待客户端合并并在promise解决后返回变量。
this.appsyncClient.hydrated().then(
client => {
this.apollo.setClient(client);
}
)