javascript - nodejs 如何等待 `require('module').runMain()` 完成运行?
问题描述
有两个文件,t1.js 和 t2.js,它们是使用命令行运行的。
$ node t2.js
f2
f1
# I want to output f1 f2, not f2 f1
我尝试使用async/await
来解决问题,但我没有找到使用它的方法,并且runMain()
无法接受任何参数。
文件内容
t1.js:
const f1 = new Promise(async resolve => {
setTimeout(() => resolve('f1'), 1000)
})
new Promise(async () => {
console.log(await f1)
})
t2.js:
new Promise(async () => {
const t1Path = __dirname + '/t1.js'
process.argv = [process.argv[0], t1Path]
require('module').runMain()
// await require('module').runMain() // This is invalid
console.log('f2')
})
解决方案
推荐阅读
- firebase-cloud-messaging - 在后台(服务人员)时收到两次 FCM 通知
- dependency-injection - 如何使用 Azure Durable Functions 在注入的类中访问 DurableEntityClient
- html - 通过单击输入显示框
- angular - 使用 ngModel 和 ngModelChange 从多选中获取值不起作用
- python - 谁能解释我为什么会收到这个错误?
- ios - 使用 JavaScript 访问 WKWebView 中的本地文件
- multithreading - 在 C 中插入螺纹
- symfony - PhpStorm Xdebug Symfony 配置
- regex - REGEXREPLACE 中用匹配字符串替换的替换是什么?
- python - 如何使用 python 删除字典对象?