我想添加对 async/await 到 node repl 的支持
在这个问题之后:https ://github.com/nodejs/node/issues/8382
我试过使用这个https://github.com/paulserraino/babel-repl但它缺少异步等待支持
我想使用这个片段
const awaitMatcher = /^(?:\s*(?:(?:let|var|const)\s)?\s*([^=]+)=\s*|^\s*)(await\s[\s\S]*)/;
const asyncWrapper = (code, binder) => {
let assign = binder ? `root.${binder} = ` : '';
return `(function(){ async function _wrap() { return ${assign}${code} } return _wrap();})()`;
};
// match & transform
const match = input.match(awaitMatcher);
if(match) {
input = `${asyncWrapper(match[2], match[1])}`;
}
如何将此代码段添加到节点 repl 上的自定义 eval 中?
节点 repl 中的示例:
> const user = await User.findOne();