AWSAppSync GraphQL突变执行两次
所以我不知道是否真的描述了我的问题,但这是我能得到的最接近的 我正在使用AWSAPSyncClient做一些GraphQL突变。由于模型的性质,在更大程度上,由于我的经验不足,我需要创建一个AWSAppSync GraphQL突变执行两次,graphql,apollo,aws-appsync,Graphql,Apollo,Aws Appsync,所以我不知道是否真的描述了我的问题,但这是我能得到的最接近的 我正在使用AWSAPSyncClient做一些GraphQL突变。由于模型的性质,在更大程度上,由于我的经验不足,我需要创建一个main记录,然后创建两个依赖于第一个记录的记录,然后才能将它们链接到数据库中 目前,我正在进行第一次变异,它返回所创建记录的ID。然后在查询返回的承诺中创建中间记录。它基本上看起来像: AppsyncClient.mutate(mutation,parameters)//first api call .th
main
记录,然后创建两个依赖于第一个记录的记录,然后才能将它们链接到数据库中
目前,我正在进行第一次变异,它返回所创建记录的ID。然后在查询返回的承诺中创建中间记录。它基本上看起来像:
AppsyncClient.mutate(mutation,parameters)//first api call
.then( function (res){
// create the new object from the response of the mutation
return AppsyncClient.mutate(mutation,parameters)})//second api call
.then( function (res){ // second API Call
// create the new object from the response of the mutation
return AppsyncClient.mutate(mutation,parameters)})
.then(etc...
问题是promise针对我的API重新运行原始请求。例如,创建了第一条记录,并返回了id,但在第二个API调用中,第一个请求以某种方式与新的请求一起再次执行,从而创建了两条原始记录。只要链继续,这种情况就会持续,总是再次执行上一个请求,为每个新对象创建两条记录。(只有在承诺中完成另一个查询时,才会发生这种情况。)
我不知道这是否足够清楚,如果需要,我很乐意提供更多细节,但有人能告诉我我做错了什么吗?如果不需要在前端制作此链,您可以在AppSync层上使用它。您可以创建三个函数,并在类似于管道的解析器中调用它们