如何获得resultat mariadb nodejs

时间:2017-02-12 12:14:55

标签: node.js mariadb mariasql

这是我的代码:

var Maria = require('mariasql');

c = new Maria({
host: '127.0.0.1',
      user : 'root',
             password : 'maria',
                        db : 'gim'
});
c.query('SELECT * FROM contact WHERE id = ? AND nom = ?', [4, 'dupont'], function(err, rows) {
    if (err) {
        throw err;
    }
    else {
        function getResult() {
            return rows;
        }
    }
});

c.end();
//get overs file 
console.log(getResult());

我想要结果数据,但未定义getResult()

如何获得node.js的结果?

1 个答案:

答案 0 :(得分:0)

您的代码有几处错误。

其中大多数都与基本的JS编程概念有关。所以我建议你去寻找一些JS课程或教程。

  • 当您定义getResult功能时,您可以在功能的内部进行操作。这意味着,此功能只能在该功能内访问。
  • 您声明getResult功能的功能实际上是回调,这是一个操作完成后立即执行的功能,通常是I / O密集操作。就像在你的情况下从数据库中读取记录一样。
  • 当达到最后一个语句并执行时,查询没有返回,从每个node.js非阻塞I / O开始,程序的控制执行c.query...,这就是你提供的那个 callback ,因此可以继续执行其余的语句,当c.query...返回记录时,执行回调作为结果。但到那时console.log...将被执行。

我不确定这是否是一个可以理解的答案,部分是因为我试图解释的概念对于您正在使用的语言来说是非常基本的,所以再一次我建议从教程/课程开始。 CodeSchool以及其他许多网站都有一些好的。