当前位置: 首页 > 知识库问答 >
问题:

AWSAppSync GraphQL突变执行两次

糜鸿风
2023-03-14

所以我不知道这是否真的描述了我的问题,但这是我能得到的最接近的吗?

我正在使用AWSAppsyncClient进行一些GraphQL突变。由于模型的性质,在更大程度上,由于我缺乏经验,我需要创建一个main记录,然后创建两个依赖于第一个的记录,然后才能将它们链接到数据库中。

目前,我正在进行第一次变异,它返回所创建记录的ID。然后在查询返回的promise中创建中间记录。它基本上看起来像:

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调用中,第一个请求以某种方式再次执行,与新请求一起执行,导致创建了两条原始记录。只要链继续,这种情况就会继续,始终再次执行之前的请求,为每个新对象创建两条记录。(这仅发生在Promise中完成另一个查询时。)

我不知道这是否足够清楚,如果需要,我很乐意提供更多细节,但有人能告诉我我做错了什么吗?

共有1个答案

司徒志
2023-03-14

如果不需要在前端创建此链,那么如果使用管道,可以在AppSync层上创建此链。您可以创建三个函数并在类似管道的解析器中调用它们。

 类似资料:
  • 从HomeActivity我正在尝试从CreateProfileActivity获取结果。在这里我要做什么来开始这个活动 以下是HomeActivity中方法的实现: 当im完成并按下save in后,下面是我将数据发送回HomeActivity的操作: 在上调用setResult方法一次,但由于某种未知原因,当数据到达方法时,get execute两次。第一个结果的和第二个结果的。在此之后,得到

  • 问题内容: 这是一个按钮: 和绑定事件: 一切正常,都发现一件麻烦事,我在Chrome开发者控制台中看到两个请求: 添加/ cartManager: 添加/ cartManager / add ?: 两者的请求标头几乎相同,只是请求标头不同: 第一个是 cartManager / add?pictureId = 等,第二个是 cartManager / add /?pictureId- / add

  • 问题内容: 我有一个从Qt Designer派生的简单窗口 (design.py) ,其中包含三个单选按钮: 并且我添加了此代码,以便监视选中了哪个单选按钮。 我注意到,如果选中radioButton1,它似乎可以正常工作,但是如果选中radiobutton2或radiobutton3,则将检查消息打印两次。 另一方面,如果我将每个信号都连接到不同的功能,例如: 然后它会按预期工作。 因此,我想将

  • 我有一个HBase(v0.94.7)表,其中只有一个列族,并且随着时间的推移,列会添加到表中。这些列以它们创建的时间戳命名,因此除非查询该行,否则我不知道它有哪些列。 现在给定一行,我想原子式地移除这个列族的所有现有列,并添加一组新的列和值。 所以我想到使用HBase的RowMutations: 但这段代码最终只会删除列族,而不会添加新列。这种行为是意料之中的吗? 如果是这样,那么我如何实现我的目

  • 我是GraphQL的新手。我已经有了一个添加数据的模式和变异,但是我有点纠结于如何进行更新变异来更新数据库中的现有数据。 我想我知道我可能需要做些什么来实现这一点,但我会感谢一些关于我的想法是否是正确的方法的指示。 这是我的模式,其中包含我的突变GraphQLObject。 我是否正确地说,在解析函数中,我需要首先通过id在数据库中找到相关对象,然后返回任何arg已更新/更改的args?我不知道如

  • 我觉得应该有一种有效的方法使用和使用来修改新列,但不能使其工作。 我知道在中使用“有点试验性”(就像在本文中一样),但如果有任何建议,我将不胜感激。 不起作用: