AWSAppSync GraphQL突变执行两次
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWSAppSync GraphQL突变执行两次相关的知识,希望对你有一定的参考价值。
所以,我不知道是否this实际上描述我的问题,但它是最接近我能得到。
我使用的是AWSAppsyncClient做一些GraphQL突变。由于模型的性质,并在更大程度上,我没有经验,我需要创建一个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...
问题是,承诺重新运行对我的API的原始请求。例如,第一条记录被创建,并返回的ID,但随后的第二API调用中的第一个请求以某种方式再次执行,沿着新的,导致创建两个原始记录。作为链不断,总是再次执行先前的请求,为每一位新对象创建两个记录这一直持续。 (仅当另一个查询中承诺完成情况。)
我不知道这是不是很清楚,我很高兴能提供,如果需要更多的细节,但有人告诉我,我做错了什么?
答案
如果没有必要使在前端这条产业链,你可以,如果你使用pipeline做的AppSync层上。您可以创建三种功能,并呼吁他们实物PIPELINE
的解析器。
以上是关于AWSAppSync GraphQL突变执行两次的主要内容,如果未能解决你的问题,请参考以下文章
通过 AWS AppSync 中的突变更新 GraphQL 数据时出错
AWS Amplify CLI 生成的 GraphQL 突变中的 $condition 输入参数是啥?