我有两个js文件。(nodejs)都有生成器功能。我想从另一个调用一个文件的生成器功能。这两个文件都有多个产量,我想先运行file1的产量,然后再运行file2的所有产量。
File1.js
public interface FooRepository extends JpaRepository<Foo, String> {
// convenience method to provide a 'code -> object' mapping of all Foos
default Map<String, Foo> mapAll() {
return findAll().stream().collect(Collectors.toMap(o -> o.getCode(), o -> o));
}
}
File2.js
function* file1Func(){
console.log("1");
yield* GetFunc();
console.log("2");
yield* file2.file2Func();
console.log("3");
yield* GetFunc2();
}
预期输出: 1 2 A B C 3 输出:1 2 A 3
答案 0 :(得分:0)
您的代码在结构上与以下代码类似:
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
。