【问题标题】:MySQL querying in NodeJSNodeJS 中的 MySQL 查询
【发布时间】: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,通过 asyncawait 会更好。还可以考虑使用更抽象的层,例如 Sequelize,而不是 mysql 驱动程序。
  • 注意:这里的回调函数中的return 没有做任何事情,它被忽略了。你需要改为callback(null, webpage === oldPage)

标签: mysql node.js


【解决方案1】:

您可以在发出请求时使用 async/await。

例如,

(async () => {
  let response = await fetch(‘/api/users’);
})();

【讨论】:

  • 但是我没有从 api 获取,我做了一个 mysql 查询?那看起来怎么样?
  • 编写你的mysql查询而不是api调用。不难,只要在函数开头写async,在mysql查询执行开头写await即可。
  • 如果你放一些代码,我可以帮你很多。
  • 我现在已经发布了我的查询
猜你喜欢
  • 1970-01-01
  • 2021-12-22
  • 2018-09-30
  • 2023-03-28
  • 2019-03-09
  • 2020-11-03
  • 1970-01-01
  • 1970-01-01
  • 2015-07-11
相关资源
最近更新 更多