Замена асинхронно-жду потом - PullRequest
0 голосов
/ 11 июля 2019

Я пытался удалить асинхронное ожидание из кода

before(async () => {
  await tests.env();
  token = await tests.getToken(accMock, 'acceptor');
});

Моя попытка:

tests.env()
  .then((output) => output.getToken(accMock, 'acceptor')
  .then((v) => (token = v)));

Но этот код не проходит тесты. Что может быть не так?

1 Ответ

1 голос
/ 11 июля 2019

Два куска кода не эквивалентны.Ваш первый фрагмент кода:

before(async () => {
  await tests.env();
  token = await tests.getToken(accMock, 'acceptor');
});

Ваш второй фрагмент кода, переписанный с помощью async / await:

before(async () => {
  let output = await tests.env();
  let v = await output.getToken(accMock, 'acceptor');
  token = v;
});

Обратите внимание, что в первом коде, который вы вызываете tests.getToken() но во втором вы звоните output.getToken().

Правильная перезапись:

before(() => {
  return tests.env()
              .then(() => tests.getToken(accMock, 'acceptor'))
              .then(v => token = v);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...