Appsync + Angular: подписка не вызывается - PullRequest
0 голосов
/ 28 ноября 2018

Я не могу заставить подписку работать.

Что я сделал:

Я следовал инструкциям по настройке API https://aws -amplify.github.io / docs / js /api

API.ts

export type UpdateProjectInput = {
  project_name: string,
  uniq_id: string,
  brand_name?: string | null,
  emails?: string | null,
  head_line?: string | null,
};

mutations.ts

export const updateProject = `mutation UpdateProject($input: UpdateProjectInput!) {
  updateProject(input: $input) {
    project_name
    uniq_id
    brand_name
    emails
    head_line
  }
}
`;

subscription.ts

export const onUpdateProject = `subscription OnUpdateProject(
  $project_name: String
  $uniq_id: String
  $brand_name: String
  $emails: String
  $head_line: String
) {
  onUpdateProject(
    project_name: $project_name
    uniq_id: $uniq_id
    brand_name: $brand_name
    emails: $emails
    head_line: $head_line
  ) {
    project_name
    uniq_id
    brand_name
    emails
    head_line
  }
}
`;

test.service.ts

const client = new AWSAppSyncClient({
  url: aws_config.aws_appsync_graphqlEndpoint,
  region: aws_config.aws_appsync_region,
  auth: {
    type: AUTH_TYPE.API_KEY,
    apiKey: aws_config.aws_appsync_apiKey,
  }
});

subscibeData() {
    let subscription;
    (async () => {
      subscription = client.subscribe({ query: gql(onUpdateProject) }).subscribe({
        next: data => {
          console.log("Update.");
          console.log(data.data);
        },
        error: error => {
          console.warn(error);
        }
      });
    })();

    setTimeout(() => {
      subscription.unsubscribe();
    }, 60000);
  }

В моем приложении я сначала запускаю this.testService.subscibeData();, а затем запускаю мутацию на площадке GraphQL для обновления данных в динамо-базе данных.Я проверил динамо-базу данных, данные обновлены => мутация верна, но нет журнала для подписки.Кажется, что подписка не вызывается после выполнения мутации.

Любое предложение приветствуется

...