【发布时间】:2020-06-04 10:41:12
【问题描述】:
下面的 async 函数应该检查一个 url 是否是一个合法的 url
let CheckUrl = function (url, done) {
dns.lookup(url, function(err, address) {
if (err) return done(err);
done(null, true); //return true because I don't care what the address is, only that it works
});
}
下面的 express.js 代码获取 url,但我无法理解如何编写 if 语句以使其返回 true 或 false。
// Gets URL
app.post("/api/shorturl/new", function(req, res) {
if (CheckUrl(req.body.url)) {
// do something
}
});
我不确定在这个 if 语句中作为 CheckUrl() 中的第二个参数传递什么。或者,也许我一开始就错误地编写了第一个异步函数?
【问题讨论】:
-
最好使用异步等待
-
我已经用下面的测试代码提交了一个答案。如果它解决了您的问题,请批准答案。如果您遇到任何问题,请检查并告诉我?
标签: node.js asynchronous mongoose callback