javascript - 多次调用另一个js文件的生成器函数并与生成器同步运行

标签 javascript node.js generator

我有两个js文件。(nodejs)都有生成器函数。我想从另一个文件调用一个文件的生成器函数。这两个文件都有多个 yield ,我想先运行 file1 的 yield ,然后运行 ​​file2 的所有 yield 。

文件1.js

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

}

文件2.js

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

预期输出: 1 2 A B C 3 输出:1 2 A 3

最佳答案

您的代码在结构上与以下代码类似:

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 的所有日志之前记录。

关于javascript - 多次调用另一个js文件的生成器函数并与生成器同步运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56129081/

相关文章:

node.js - 发生未处理的异常 : D:\workspace-angular\demoapp1 contains both . browserslistrc 和 browserslist

python - "Double"迭代器和生成器函数

JavaScript:附加脚本不起作用后

javascript - clearInterval 未清除 setInterval

node.js - child_process.exec/spawn 使用 npm install 命令触发回调/关闭(通过 Gulp/Shipit)

python - 如何在不耗尽python内存的情况下遍历大文件?

python:是否有作为生成器实现的 XML 解析器?

javascript - JQuery 插件每个元素的单独作用域

javascript - FullCalendar - 内联可滚动日历

node.js - Nodejs 502 Bad Gateway 在 Elastic Beanstalk AWS 上部署 Express