本文整理汇总了TypeScript中apollo-angular.Apollo类的典型用法代码示例。如果您正苦于以下问题:TypeScript Apollo类的具体用法?TypeScript Apollo怎么用?TypeScript Apollo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Apollo类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: constructor
constructor(
private apollo: Apollo,
private tokenService: TokenService,
private modalService: ModalService
) {
const uploadLink = createUploadLink({ uri: uri });
const authLink = createAuthLink(tokenService);
const errorLink = createErrorLink(modalService);
apollo.create({
link: ApolloLink.from([authLink, errorLink, uploadLink]),
cache: new InMemoryCache(),
queryDeduplication: true,
defaultOptions: {
mutate: {
errorPolicy: 'all'
},
query: {
errorPolicy: 'all'
},
watchQuery: {
errorPolicy: 'all'
}
}
});
}
示例2: constructor
constructor(apollo: Apollo, httpLink: HttpLink) {
apollo.create({
// By default, this client will send queries to the
// `/graphql` endpoint on the same host
link: httpLink.create({ uri: Meteor.absoluteUrl('/graphql') }),
cache: new InMemoryCache(),
});
}
示例3: get
get(): ApolloQueryObservable<PostsInterface> {
// Query posts data with observable variables
this.posts = this.apollo.watchQuery<PostsInterface>({
query: GetPostsQuery,
})
// Return only posts, not the whole ApolloQueryResult
.map(result => result.data.posts) as any;
return this.posts;
}
示例4: ngOnInit
ngOnInit() {
this.apollo.watchQuery<QueryResponse>({
query: CurrentProfile
}).subscribe(({data}) => {
this.currentProfile = data.profile;
});
}
示例5: Promise
return new Promise((resolve, reject) => {
this.apollo.mutate<DeletePostInterface>({
mutation: RemovePostMutation,
variables: {
"id": id
},
})
.take(1)
.subscribe({
next: ({ data }) => {
console.log('delete post', data.removePost);
// update data
resolve({
success: true,
message: `Post #${id} deleted successfully `
});
},
error: (errors) => {
console.log('there was an error sending the query', errors);
reject({
success: false,
message: errors
})
}
});
});
示例6: save
public save() {
if (!this.form.valid) return;
this.apollo.mutate({
mutation: AddPostMutation,
variables: {
"data": {
"title": this.form.value.title,
"content" :this.form.value.content
}
},
refetchQueries: [{
query: GetPostsQuery,
}],
})
.take(1)
.subscribe({
next: ({ data }) => {
console.log('got a new post', data);
// get new data
this.router.navigate(['/posts']);
}, error: (errors) => {
console.log('there was an error sending the query', errors);
}
});
}
示例7: getPage
getPage(paging) {
return this.apollo.query({
query: getPage,
variables: { offset: paging.offset, first: paging.first },
fetchPolicy: 'no-cache'
});
}
示例8: submitContactRequest
submitContactRequest(contactRequest: ContactRequest): Observable<Date> {
return this.apollo
.mutate({
mutation: submitContactRequest,
variables: { name: contactRequest.name, email: contactRequest.email, message: contactRequest.message },
})
.pipe(map((result: FetchResult<ContactResponse>) => new Date(result.data.submitContactRequest.sentAt)));
}
示例9:
this.apollo.mutate(Object.assign({ mutation: gql`${queryStr}` }, options)).subscribe(res => {
// Clear cache immediatelly after a save operation
this.apollo.getClient().clearStore()
.catch(ex => Logger.log(ex))
.finally(() => {
observer.next(res);
observer.complete();
});
});