首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mariadb nodejs如何获取结果

mariadb nodejs如何获取结果
EN

Stack Overflow用户
提问于 2017-02-12 20:14:55
回答 1查看 411关注 0票数 0

这是我的代码:

代码语言:javascript
复制
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的结果呢?

EN

回答 1

Stack Overflow用户

发布于 2017-02-12 20:44:05

你的代码中有几个错误。

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

  • 当你定义getResult函数时,你是在一个函数的内部完成的。这意味着,这个函数只能在函数内部访问。
  • 声明了getResult函数的函数,实际上是一个回调,它是一个在某个操作完成后立即执行的函数,通常是一个I/O密集型操作。
  • 当最后一条语句到达并执行时,您的查询没有返回,对于每个node.js非阻塞I/O,程序的控制权执行c.query...,此时您提供了我们前面提到的回调,因此它可以继续执行其余语句,当c.query...带着记录返回时,执行作为结果的回调。但到那时console.log...已经被处死了。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42187404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档