【问题标题】:How Does All Console Logs Get Executed First In Node.js?在 Node.js 中如何首先执行所有控制台日志?
【发布时间】:2019-07-18 12:01:17
【问题描述】:

我了解 Node.js 是异步的,并且使用事件循环来执行 I/O 任务。 我了解您的代码将首先从上到下解析,然后执行用户定义的回调(如果有)。

据我了解,写入控制台也是一种 I/O 操作形式(也许我认为它也是 I/O 任务是错误的。如果我错了需要解释)

所以我不明白的是,无论脚本中的位置如何/为什么首先执行所有控制台日志,因为它也是 I/O 任务的一种形式?

【问题讨论】:

标签: javascript node.js runtime v8 libuv


【解决方案1】:

事实上,NodeJs 和 JavaScript 中的函数是同步的,但是,您可以将函数更改为异步。下面我引用了这个例子。

1. resetPassword: async function (req, res, next) {
2.    let user = await userService.resetPassword(res.body.email);
3.    console.log(user);
4. }

在上面的示例中,我基于异步创建了函数,并且在第 2 行将等待处理直到响应。

最后,第 3 行将打印一些关于用户的信息。

【讨论】:

    【解决方案2】:

    是的,console.log也是I/O操作的一种形式,你可以看看this的回答了解更多。

    【讨论】:

      猜你喜欢
      • 2011-10-14
      • 2015-03-26
      • 2012-09-14
      • 2013-06-16
      • 1970-01-01
      • 2012-12-26
      • 1970-01-01
      • 2016-07-25
      • 2015-06-15
      相关资源
      最近更新 更多