【发布时间】:2021-03-19 15:22:43
【问题描述】:
我正在尝试编写一个应用程序来检查网页是否已更改。 我正在使用 NodeJs mysql,因为我对它们很熟悉。
所以目前,我的问题是我的查询太“慢”,所以我的函数不会返回 true,即使它应该返回。我可以强制我的应用以某种方式等待查询吗?
编辑:
checkEntry(webpage, callback) {
var oldPage;
this.mysql.query('SELECT OldWebpagecol FROM Web_Scraping.OldWebpage WHERE idOldWebpage = 15', (err, rows) => {
if (err) console.log(err);
oldPage = rows[0].OldWebpagecol;
if (webpage === oldPage) {
return true;
}
return false;
})
}
【问题讨论】:
-
提示:如果可以,请使用 Promises,通过
async和await会更好。还可以考虑使用更抽象的层,例如 Sequelize,而不是mysql驱动程序。 -
注意:这里的回调函数中的
return没有做任何事情,它被忽略了。你需要改为callback(null, webpage === oldPage)。