express 回调函数 入门问题求解

gitabc
  • 29
var express = require('express');
var app = express();

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

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

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

console.log("应用实例,访问地址为 http://%s:%s", host, port)

})

为什么里面可以访问server.address().address 回调函数里面的变量可以访问返回值server?

回复
阅读 1.9k
2 个回答
✓ 已被采纳

因为执行callback的时候,app.listen()这个函数已经返回了,所以server已经被附上值了。

因为server已经定义且为全局变量,可为其赋值

var server=express(function(){
            server.x=6;
            alert(server.x);
        });
        function express(fuc){
            server={};
            fuc();
        }
你知道吗?

宣传栏