search

Home  >  Q&A  >  body text

javascript - express 回调函数 入门问题求解

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?

PHP中文网PHP中文网2824 days ago186

reply all(2)I'll reply

  • 伊谢尔伦

    伊谢尔伦2017-04-10 17:08:30

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

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 17:08:30

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

    var server=express(function(){
                server.x=6;
                alert(server.x);
            });
            function express(fuc){
                server={};
                fuc();
            }

    reply
    0
  • Cancelreply