Env.js在nodejs环境中$.done()无效,似乎没有添加$.isNode()的done逻辑
Env.js在nodejs环境中$.done()无效,似乎没有添加$.isNode()的done逻辑
done(val = {}) {
const endTime = new Date().getTime()
const costTime = (endTime - this.startTime) / 1000
this.log('', `🔔${this.name}, 结束! 🕛 ${costTime} 秒`)
this.log()
if (this.isSurge() || this.isQuanX() || this.isLoon()) {
$done(val)
}
}
不管是哪个环境,都会执行输出日志的逻辑。
因为代理 App 需要在脚本执行完成后显式调用 $done() 来退出,所以才需要判断是否代理 App 环境 Node 环境下,代码执行完就结束了,并不需要通过调用什么函数来告诉其需要退出。
因为我是想在nodejs脚本中执行一个判断,如果条件满足即$.done()中断脚本执行,否则继续执行,不是等到脚本执行完毕自行结束
if ($.isNode()) {
process.exit(1)
}
你是希望这样终止整个脚本对吧?
是的,就是使用到了$.done()的话就是结束整个脚本
另外nodeja上使用时got最新版12.0.4无法导入,11.8.3可以正常使用
https://github.com/chavyleung/scripts/commit/bfe1e74aaf83c985a24911901c9948bad42813e1
feat(env.js): node 环境下 $.done() 会使用 process.exit(1) 退出脚本

我发现异步请求无法正确获取到body,是图一的地方返回resp里面不包含body,只有rawbody
https://github.com/chavyleung/scripts/commit/7a86b697bc336c622ddb021d5eb6bfd3a7ec2b9f fix(env.js): 修复 $.http 在 node 环境下没有返回 resp.body 问题