我正在尝试显示来自用户搜索的域搜索结果。应用程序的流程是:
我在Node.js中使用Express,根据我的理解,可以使用res.write()并使用res.end()完成它。但是,根据我目前的设置,我只是得到一个"写完后#34;错误。
我认为这是由于Javascript异步性质,但我是一个新的开发人员,所以这只是我的猜测。
这是我的代码pre-res.write。如何以最佳方式重写它,创建res.write流?
router.get("/new", function(req, res) {
//Strip all subdomains - the post var now only contains the domain and TLD.
var post = getDomain(req.query.id);
//Check if the user inserts a valid TLD.
if (!tldExists(post)) {
return res.send(JSON.stringify("invalidTld"));
}
//I want to replace every res.send with res.write after this comment
functions.singleDomain(parse(req.query.id).hostname)
.then(function(value) {
res.send(JSON.stringify(value));
})
.catch(function(error) {
res.send(JSON.stringify(error));
})
functions.checkDB(post)
//Check if domain has been resolved within the last 24 hours.
.then(function(value) {
let promise;
if(value !== false) {
console.log("Domain has been resolved within the last 24 hours");
return res.send(JSON.stringify(value));
} else {
promise = functions.lookupDomain(post);
}
return promise;
})
.then(function(value) {
res.send(JSON.stringify(value));
})
.catch(function(error) {
console.log(error);
})
});