从函数内部运行NodeJS REPL

问题描述

我有一个可以根据请求输入命令以不同模式运行的程序。我正在构建的一种模式是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 );