Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NODEJS中的Javascript方法链接_Javascript_Node.js - Fatal编程技术网

NODEJS中的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

在javascript中链接方法时,是否会在初始对象上调用该方法?还是前一个方法的返回对象

我这样问是因为我在节点中链接
。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,并具有事件“侦听”

它在返回值上被调用它在返回值上被调用