【问题标题】:Proper asynchronous mysql query in nodejs?nodejs中正确的异步mysql查询?
【发布时间】:2023-03-26 00:11:01
【问题描述】:

对 nodejs 来说完全是新手,在处理异步编程/回调时遇到了麻烦。我想做的是:

在“发布”时,我想在我的数据库中的一个表中收集所有单词。我这样称呼它:var lesson_data = init_load_lesson(); 这个对init_load_lesson() 的调用来自我的“路由器”文件中的 index.js。

我如何构造一个适当的回调,以便让课程数据成为我的查询结果?

var mysql = require('mysql'); 
var connection = require('./connection'); 

var data = [];

function init_load_lesson()
{
  connection.connect();

  var queryString = "SHOW COLUMNS FROM LessonOneVocabulary";

  connection.query(queryString, function(err, rows, fields) {
    if (err) throw err;
    else
    {
      for (var i in rows)
      {
        data.push(rows[i].Fields);
        console.log(data);
      }
      console.log(data);
    }
  });

  connection.end();
}


module.exports = function() {
  load_lesson();
};

【问题讨论】:

    标签: mysql node.js asynchronous callback


    【解决方案1】:

    要添加一个回调(尝试更多的函数,你就会掌握它的窍门):-

    function init_load_lesson(callback) {
    ... // connect to database
      if (err) { 
       callback(err);
      } else {
       // process item
       callback(null, data);
      }
    }
    
    init_load_lesson(function(err2, results) {
      if (err2) { 
         // process error
      } else {
         // process results
      }
    });
    

    【讨论】:

      猜你喜欢
      • 2020-06-19
      • 2019-02-08
      • 2023-03-28
      • 2020-11-03
      • 2019-05-25
      • 2021-03-21
      • 1970-01-01
      • 2020-08-18
      • 2020-06-07
      相关资源
      最近更新 更多