Вызов функции генератора другого js-файла несколько раз и синхронный запуск с генераторами - PullRequest
1 голос
/ 14 мая 2019

У меня есть два файла js. (Nodejs) Оба имеют функции генератора.Я хочу вызвать функцию генератора одного файла из другого.Оба файла имеют несколько выходов, и я хочу запустить сначала выход file1, а затем все выходы file2.

File1.js

function* file1Func(){
console.log("1");
yield* GetFunc();
console.log("2");
yield* file2.file2Func();
console.log("3");
yield* GetFunc2();

}

File2.js

function* file2Func(){
console.log("A");
yield* func1();
console.log("B");
yield* func2();
console.log("C");
yield* func3();
}

Ожидаемый выход: 1 2 ABC 3 Выход: 1 2 A 3

1 Ответ

0 голосов
/ 14 мая 2019

Ваш код похож на приведенный ниже:

function* dummy() {
  yield null;
}

function* func1() {
  console.log(`a`);
  yield* dummy();
  console.log(`b`);
  yield* dummy();
  console.log(`c`);
}

function* func2() {
  console.log(1);
  yield* dummy();
  console.log(2);
  yield* func1();
  console.log(3);
}

for (let x of func2()) {
}

Должно регистрироваться ожидаемый результат, так как генератор работает до тех пор, пока не будет завершен. 3 не может быть зарегистрирован до всех журналов с file2Func.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...