Web*_*ber 1 javascript mocking resolver graphql aws-appsync
我的模拟不会为每个项目生成唯一的数据,而是每个项目都具有相同的字段值。
选项1:(理想的方法,错误的结果)
AppSync 架构包含一个items字段[Model],如果我将Model解析器单独放置,则列表Model中的所有值都items具有相同的值。
const mocks = {
ModelModelConnection: () => ({
items: () => new MockList(5),
}),
Model: () => ({
id: casual.uuid,
name: casual.title,
}),
};
Run Code Online (Sandbox Code Playgroud)
结果是...

选项2:(替代方法,正确结果)
const mocks = {
ModelModelConnection: () => ({
items: () => new MockList(5, () => ({
id: casual.uuid,
name: casual.title,
})),
}),
};
Run Code Online (Sandbox Code Playgroud)

我想选择选项 1,但我似乎无法让独特的项目被嘲笑。我一直在为这个摸不着头脑。提前致谢!
如文档中所示,如果您想在每次触发字段解析器时生成不同的值,则模拟解析器应该是一个函数,而不是一个值。所以而不是:
Model: () => ({
id: casual.uuid,
name: casual.title,
}),
Run Code Online (Sandbox Code Playgroud)
你应该做:
Model: () => ({
id: () => casual.uuid,
name: () => casual.title,
}),
Run Code Online (Sandbox Code Playgroud)
这会导致每次解析该字段时调用id和。name
| 归档时间: |
|
| 查看次数: |
874 次 |
| 最近记录: |