当请求完成时,nodejs表示closures服务器

我正在为我的模块写一个testing脚本,当我的请求完成时,我需要能够closures我的服务器。 下面的代码工作,但我可以看到,app.close()从特快3下降。现在最好的办法是什么?

var testCase = require('nodeunit').testCase; var request = require('request'); var express = require('express'); var app = express.createServer(); var srv = app.listen(); .... request({ method: 'POST', json: true, body: { id: 'second request'}, url: 'http://' + target }, function(err, res, body) { console.info("closing server"); app.close(); test.done(); }); }); 

谢谢你,李

必须在closures服务器之后调用ps test.done(),否则testing将失败。

用于从http.Serverinheritance的Express应用程序,他们不再这样做了,这就是close方法的来源。 相反,请在您的srv实例上调用close() 。 你可能经常看到这个代码写成:

 var app = express.createServer(); var srv = require('http').createServer(app); srv.listen(port); 

根据app.listen() 的文档 :

绑定并侦听给定主机和端口上的连接,此方法与节点的http.Server#listen()