原文链接: do-sync 异步转同步 使用child_process实现
上一篇: babel macros 宏data-uri.macro 编译时转换
下一篇: webgl 获取显卡设备信息
https://github.com/Zemnmez/do-sync
主要思想是动态创建js文件, 使用buffer传入到子线程, 同步使用node执行这个线程, 异步函数中不能使用log, 会导致json解析失败, 这个库主要是给macro用的, 所以输入输出格式有限制, 其实可以自己再封装下
const { doSync } = require("do-sync");
console.log(doSync);
const f = async () => {
await new Promise((r) => setTimeout(r, 1000));
};
const sf = doSync(f);
console.log("111", new Date());
sf();
console.log("222", new Date());
/*
[Function