Returning from prompt.get



我目前正在使用Node中的提示包在命令行上获取用户输入,但是,我想从prompt.get返回一个变量-我将如何存储返回变量/我可以从哪里访问它?我对Node还比较陌生。

const prompt = require('prompt');
prompt.start();
prompt.get(['num'], function (err: any, result: any) {
if (err) { return Error(err); }
if(result.num > 0) {
return "Positive";
}
else {
return "Negative";
}
});

干杯!

您可以在回调外部初始化变量,然后在回调内部设置变量:

let value;
prompt.get(['num'], function (err: any, result: any) {
if (err) { return Error(err); }
value = result > 0 ? "Positive" : "Negative";
});

但问题是,在完成之前,该值将为空,因此,如果您尝试在之后立即调用它,它将为空。

let value;
prompt.get(['num'], function (err: any, result: any) {
if (err) { return Error(err); }
value = result > 0 ? "Positive" : "Negative";
});
console.log(value); // => undefined

不过,该软件包也支持promise,因此您只需使用await,如他们的自述文件:所示

(async () => {
const { num } = await prompt.get(['num']);
})();

您应该注意到匿名自执行异步函数,这是因为wait只在异步函数内部工作(在使用模块时,在节点v15&之后技术上不需要(。

相关内容

  • 没有找到相关文章