我希望程序停止監聽請求,並在代碼成功加載一次頁面後繼續執行代碼。我曾嘗試在代碼的末尾放置一個break;
,但它表示這是非法中斷。我不知道我應該用什麼來代替休息。如何在Node.js中退出函數
我該如何導致它退出該功能?
在此先感謝。
我使用從this site下面的代碼使用的是Node.js:
var http = require("http");
var port = 3000;
var serverUrl = "localhost";
var Kafka = require('no-kafka');
var connString = ' kafka://192.168.0.108:9092, 192.168.0.108:9092 '
var consumer = new Kafka.SimpleConsumer({ connectionString: connString });
var message = ["start"];
var server = http.createServer(function(req, res) {
console.log("Request: " + req.url);
var now = new Date();
var html = "<p>Hello World, the time is " + now + "- Messages: " + message + ".</p>";
res.end(html);
console.log("a");
server.close();
console.log("b");
});
// data handler function can return a Promise
var dataHandler = function (messageSet, topic, partition) {
messageSet.forEach(function (m) {
console.log('topic received: ');
console.log({
'topic':topic,
'partition': partition,
'offset': m.offset,
'message': m.message.value.toString('utf8')
});
message.push(m.message.value.toString('utf8'));
console.log("Listening at " + serverUrl + ":" + port);
server.listen(port, serverUrl);
console.log("c");
});
};
return consumer.init()
.then(function() {
return consumer.subscribe('temp', 0, dataHandler);
});
server.close(); –
我會考慮重新提出問題。 – Orangesandlemons
server.close();不起作用。我更新了正確的代碼問題。它卡在「b」處,並且只會在控制檯中按ctrl-c時繼續。 – Ryan