首页 > 解决方案 > Express 框架 - 无论异步如何,在新路由上开始执行之前,路由的执行是否总是完成?

问题描述

我有一个关于 Node.js Express框架的基本机械问题。

当客户端到达端点时,将执行路由。例如,

app.get('/' function(req, res, next) {
    res.send('hello world');
}

如果第二个客户端在执行此路由期间遇到端点,Express 是否会指示第二个路由等到第一个路由完全完成?

如果路由包含异步代码怎么办。例如,

app.get('/' function(req, res, next) {

    // async function below
    bcrypt.compare(password, hash)
        .then()
        .catch();
}

由于bcrypt.compare()是异步的,Express 会在第一个客户端的路由完全完成之前开始执行第二个客户端的路由吗?或者,Express 一次只运行一条路由,而不管异步如何?

标签: node.jsasynchronous

解决方案


推荐阅读