NODEJS中的Javascript方法链接
在javascript中链接方法时,是否会在初始对象上调用该方法?还是前一个方法的返回对象 我这样问是因为我在节点中链接NODEJS中的Javascript方法链接,javascript,node.js,Javascript,Node.js,在javascript中链接方法时,是否会在初始对象上调用该方法?还是前一个方法的返回对象 我这样问是因为我在节点中链接。listen() 有效: var http = require("http"); http.createServer(function (request, response) { response.writeHead(200, { 'Content-Type': 'text/plain' }); response.end('Hello World
。listen()
有效:
var http = require("http");
http.createServer(function (request, response) {
response.writeHead(200, {
'Content-Type': 'text/plain'
});
response.end('Hello World\n');
}).listen(8088);
// Console will print the message
console.log('Server running at http://127.0.0.1:8081/');
在createServer
之后调用listen()
时,它不起作用:
http.createServer(function (request, response) {
response.writeHead(200, {
'Content-Type': 'text/plain'
});
response.end('Hello World\n');
})
http.listen(8088);
它说,
listen()
不是函数。当我链接它时,它为什么工作?因为http是一个模块,它不同于createServer创建的http.Server
的实例。请参阅文档并尝试console.log()
ing变量以查看在变量上定义了哪些函数和属性。因为http是与createServer创建的http.Server
实例不同的模块。请参阅文档并尝试console.log()
ing变量以查看在变量上定义了哪些函数和属性。Fluent接口通过返回您调用的同一对象来工作(通过在方法末尾使用return this
),这样您就可以链接对该对象的调用(因此,将其设置为“Fluent”)
在您的情况下,这不是方法链接的问题。
调用
http.createServer
会返回一个不同于http的新对象,您可以调用该对象进行监听。Fluent接口通过返回您调用的同一对象(通过在方法结尾使用return this
)来工作,因此您可以链接对该对象的调用(因此,将其设置为“Fluent”)
在您的情况下,这不是方法链接的问题。
调用
http.createServer
返回一个不同于http的新对象,您可以调用listen on。这是因为createServer返回一个http.Server的新实例
Class: http.Server
此类继承自net.Server,并具有事件“侦听”。
这是因为createServer返回了http.Server的一个新实例
Class: http.Server
此类继承自net.Server,并具有事件“侦听”。
它在返回值上被调用它在返回值上被调用