问题描述
我有一个可以根据请求输入命令以不同模式运行的程序。我正在构建的一种模式是NodeJS REPL服务器。因此,我执行了以下操作,即在请求REPL模式时调用了run函数:
export function run() {
// do some stuff
repl.start({
prompt: '> ',eval: (cmd,context,filename,callback) => {
console.log(`receive: ${cmd}`);
callback(null,JSON.parse(cmd));
}
});
}
事情是这样做的,REPL服务器正常启动,但随后立即结束。而如果我在一个独立文件中执行以下操作,然后使用node standalonefile.js
启动它,它将按预期工作。
repl.start({
prompt: '> ',JSON.parse(cmd));
}
});
解决方法
我实际上使用Promise解决了它。当整个过程结束时,它也将结束REPL过程。在这里,我要等到Promise的解决,然后再结束整个事情。
get_the_title( get_field('which_game')->ID );