正在回避异步函数定义



我为Javascript开发了一个IDE,它允许开发人员评估他们的代码。在现代Chrome控制台中,我可以运行:

eval(`try{function foo3(){console.log("Hi")}} catch(err){console.log(err)}`)

foo3将被定义并调用fine。我也可以运行:

eval(`async function foo4(){console.log("Hi")}`)

foo4将被定义并调用fine。但当我跑步时:

eval(`try{async function foo5(){console.log("Hi")}} catch(err) {console.log(err)}`)

我没有得到任何错误,但foo5没有定义。注意,示例1和实施例3只是";异步;在";函数";。我希望定义foo5。非常感谢Clues。

好吧,您可以稍微反转代码,将try/catch块包含在async函数中,以使其运行。

eval(`async function foo5() {try {console.log("Hi")} catch (err) { console.log(err)}}`);
foo5();

相关内容

  • 没有找到相关文章

最新更新