节点 - 运行 代码在 return 语句之后

Node - Run code after return statement

有什么方法可以 运行 节点 js 中函数 return 之后的代码块吗?

像这样:

   function f() {
         #do stuff
         #return result
         #do more stuff
    }

不,没有办法按照你展示的方式做到这一点。 return 从包含的函数中退出,return 语句之后的语句不会执行(实际上它们是死代码)。

(根据您的评论)如果您真正想做的是执行函数的其余部分(包括 return 值)不依赖的 "out of band",您可以稍后将该代码安排到 运行。例如,您可以使用 setTimeout()process.nextTick()setImmediate().

function f() {
     // do stuff
     setTimeout(function() {
         // do some stuff here that will execute out of band
         // after this function returns
     }, 0);
     return someVal;
}

像这样的事情有合法的用途,你想尽快执行一些事情,但你不希望它妨碍当前操作。因此,您基本上希望在当前 activity 完成后将其排队执行。

答案是否定的。在你return之后函数将停止执行。您可以考虑使用更好的流控制来 运行 像 Async/AwaitPromise

这样的代码

You use the return statement to stop execution of a function and return the value of expression. 根据以下文档 https://docs.microsoft.com/en-us/scripting/javascript/reference/return-statement-javascript