Javascript AppSync GraphQL模拟解析程序映射未生成唯一项

Javascript AppSync GraphQL模拟解析程序映射未生成唯一项,javascript,mocking,graphql,aws-appsync,resolver,Javascript,Mocking,Graphql,Aws Appsync,Resolver,我的模拟不是为每个项目生成唯一的数据,而是每个项目都有相同的字段值 选项1:(理想的方法,不正确的结果) AppSync模式保存着[Model]的items字段,如果我单独放置Model解析器,则items列表中的所有Model都具有相同的值 const mocks = { ModelModelConnection: () => ({ items: () => new MockList(5), }), Model: () => ({ id: casu

我的模拟不是为每个项目生成唯一的数据,而是每个项目都有相同的字段值

选项1:(理想的方法,不正确的结果)

AppSync模式保存着
[Model]
items
字段,如果我单独放置
Model
解析器,则
items
列表中的所有
Model
都具有相同的值

const mocks = {
  ModelModelConnection: () => ({
    items: () => new MockList(5),
  }),
  Model: () => ({
    id: casual.uuid,
    name: casual.title,
  }),
};
结果。。。


选项2:(替代方法,正确结果)


我想选择选项1,但我似乎无法得到唯一的项目被嘲笑。这件事让我抓狂。提前谢谢

如中所示,如果希望在每次激发字段的冲突解决程序时生成不同的值,则模拟冲突解决程序应该是一个函数,而不是一个值。因此,不是:

Model: () => ({
  id: casual.uuid,
  name: casual.title,
}),
你应该做:

Model: () => ({
  id: () => casual.uuid,
  name: () => casual.title,
}),
这会导致每次解析字段时调用
id
name

如中所示,如果希望在每次激发字段的解析程序时生成不同的值,则模拟解析程序应该是函数,而不是值。因此,不是:

Model: () => ({
  id: casual.uuid,
  name: casual.title,
}),
你应该做:

Model: () => ({
  id: () => casual.uuid,
  name: () => casual.title,
}),

这导致每次解析字段时都会调用
id
name

不清楚您到底在问什么或想要实现什么。到底是什么问题?预期结果是什么?@Larce选项1在
name
字段中生成所有相同的数据,而选项2在
name
字段中生成唯一的数据。我想使用选项1构建树,但是数据需要是唯一的,就像选项2中一样,不清楚您到底在问什么或者想要实现什么。到底是什么问题?预期结果是什么?@Larce选项1在
name
字段中生成所有相同的数据,而选项2在
name
字段中生成唯一的数据。我想使用选项1构建树,但是数据需要像选项2中一样是唯一的