脚本未打印到 console.log
Script not printing to console.log
我正在尝试按照说明 here 创建一个每 5 分钟打印一次内容的脚本。但它不起作用:当我使用 node scripts.js alive
调用它时,它没有给出任何输出,只是在终端中打开一个新行。我做错了什么?
const program = require('commander');
program.command('alive').action(async function() {
console.log("testttt");
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
};
for (let i = 0; i <= 36; i++) {
await sleep(300000);
console.log(i);
};
process.exit(0);
});
我也试过,结果一样:
for (let i = 0; i <= 36; i++) {
await sleep(300000).then(async function(response) {
console.log(i);
});
};
documentation for commander 建议为了执行命令,您需要在末尾添加一行,例如:
program.parse(process.argv);
嘿这里的问题是你如何使用指挥官。如您所见,here 我删除了它并且它有效。查看指挥官的文档。
这个脚本实际上让你每秒钟做一些事情。
运行 它与 node script.js
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms))
}
async function func() {
console.log('func')
await sleep(1000)
func()
}
func()
更新 - 按照要求与指挥官一起工作
运行 它与 ./script.js -t
#!/usr/bin/env node
const program = require('commander')
program.option('-t, --tick', 'start the ticker')
program.parse(process.argv)
if (program.tick) {
console.log('program.ticker started')
ticker()
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms))
}
async function ticker() {
for (let i = 0; i <= 5; i++) {
await sleep(1000)
console.log(`tick ${i}`)
}
process.exit()
}
我正在尝试按照说明 here 创建一个每 5 分钟打印一次内容的脚本。但它不起作用:当我使用 node scripts.js alive
调用它时,它没有给出任何输出,只是在终端中打开一个新行。我做错了什么?
const program = require('commander');
program.command('alive').action(async function() {
console.log("testttt");
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
};
for (let i = 0; i <= 36; i++) {
await sleep(300000);
console.log(i);
};
process.exit(0);
});
我也试过,结果一样:
for (let i = 0; i <= 36; i++) {
await sleep(300000).then(async function(response) {
console.log(i);
});
};
documentation for commander 建议为了执行命令,您需要在末尾添加一行,例如:
program.parse(process.argv);
嘿这里的问题是你如何使用指挥官。如您所见,here 我删除了它并且它有效。查看指挥官的文档。
这个脚本实际上让你每秒钟做一些事情。
运行 它与 node script.js
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms))
}
async function func() {
console.log('func')
await sleep(1000)
func()
}
func()
更新 - 按照要求与指挥官一起工作
运行 它与 ./script.js -t
#!/usr/bin/env node
const program = require('commander')
program.option('-t, --tick', 'start the ticker')
program.parse(process.argv)
if (program.tick) {
console.log('program.ticker started')
ticker()
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms))
}
async function ticker() {
for (let i = 0; i <= 5; i++) {
await sleep(1000)
console.log(`tick ${i}`)
}
process.exit()
}