AppSync GraphQL Mocking Resolver Map не генерирует уникальные элементы - PullRequest
0 голосов
/ 21 декабря 2018

Мой макет не генерирует уникальные данные для каждого элемента, вместо этого каждый элемент имеет одинаковое значение поля.

Опция 1: (идеальный подход, неверные результаты)

Схема AppSync содержит поле items, равное [Model], если я поставлю сам преобразователь Model, все Model в списке items будут иметь одинаковое значение.

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

результаты в ... Results


Вариант 2: (альтернативный метод, правильные результаты)

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

Results


Я хочу пойти с Вариантом 1, но я не могу получить уникальные предметы для насмешки.Я почесал голову от этого.Заранее спасибо!

1 Ответ

0 голосов
/ 26 декабря 2018

Как показано в документах , если вы хотите генерировать разные значения каждый раз при запуске распознавателя поля, имитатор распознавателя должен быть функцией, а не значением.Поэтому вместо:

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

вы должны сделать:

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

Это приводит к вызову id и name каждый раз, когда поле разрешается.

...