javascript - Express.js 在执行时获取地址和端口

标签 javascript node.js express

我已经阅读了很多关于 Nodejs 和 Expressjs 的帖子,但我仍然不明白它是如何工作的:

这是带有 Express.js 的基本 Hello World 应用程序(取自 http://expressjs.com/starter/hello-world.html)。

var express = require('express')
var app = express()

app.get('/', function (req, res) {
  res.send('Hello World!')
})

var server = app.listen(3000, function () {

var host = server.address().address
var port = server.address().port

console.log('Example app listening at http://%s:%s', host, port)

})

当我们仍在获取我们最终将绑定(bind)到 var server 的内容时,我们如何能够使用 server 获取主机和端口?

最佳答案

因为它是异步的。回调只会在 server 定义和初始化之后运行。

var server = app.listen(3000, function () {

    var host = server.address().address
    var port = server.address().port

    console.log('Example app listening at http://%s:%s', host, port)

})

适当的缩进有时有助于看到这一点。

关于javascript - Express.js 在执行时获取地址和端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27730840/

相关文章:

javascript - 使用字节将字母数字代码解码为键值对象

node.js - 在express中使用vhost时出错

node.js - PassportJS 与 Express (nodejs) 上传表单

javascript - 使用 knex 和 Bookshelf 查询时如何同时使用 '<>' 和 'whereNotIn'?

javascript - Node.js 中是否有用于情感分析的网络挖掘库?

node.js - 允许单个 Backbone 模型使用多个路由

javascript - `1 + {}` 和 `{} + 1` 中的原始值转换如何发生?

javascript - 创建动态内联样式表

javascript - 如何在 HTML 中的每个项目之间延迟打印列表

javascript - Excel日志相当于JS Math.log()