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突变执行两次的主要内容,如果未能解决你的问题,请参考以下文章

GraphQL 突变中的子类型

通过 AWS AppSync 中的突变更新 GraphQL 数据时出错

AWS Amplify CLI 生成的 GraphQL 突变中的 $condition 输入参数是啥?

我可以触发 Lambda 函数或 SNS 事件来响应 AppSync GraphQL 突变吗?

如何从graphql突变返回令牌

具有业务逻辑的 AWS Appsync + DynamoDB