Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在另一个模块中使用模块功能的输出_Javascript_Node.js_Redis - Fatal编程技术网

Javascript 如何在另一个模块中使用模块功能的输出

Javascript 如何在另一个模块中使用模块功能的输出,javascript,node.js,redis,Javascript,Node.js,Redis,我有一个mdoule,在这里我创建了一个db连接和一个运行查询的函数。 我想在另一个模块中使用此查询的输出。我该怎么做 查询应该从键值对(hello:world)返回值。 然而,每次我尝试在另一个模块中使用该变量时,结果都是“true”而不是“world” 我的密码在这里 我想从app.js调用getValue函数,可能还想从console.log(db.getValue())调用输出。您不能像从sync一样从异步函数返回值。您需要使用回调方式。按如下方式修改代码: getValue函数: v

我有一个mdoule,在这里我创建了一个db连接和一个运行查询的函数。 我想在另一个模块中使用此查询的输出。我该怎么做

查询应该从键值对(hello:world)返回值。 然而,每次我尝试在另一个模块中使用该变量时,结果都是“true”而不是“world”

我的密码在这里


我想从app.js调用getValue函数,可能还想从console.log(db.getValue())调用输出。

您不能像从sync一样从异步函数返回值。您需要使用回调方式。按如下方式修改代码:

getValue函数:

var getValue = function(cb) {
    dbConnection.get("hello", function (err, reply) {
        var val = reply ? reply.toString() : null;
        cb(err, val);
    });
};
控制器:

app.get('/json', function(req, res, next) {
    res.contentType('application/json');
    db.getValue(function(err, val) {
        if (err) return next(err);
        res.send(val);  
    });
});

谢谢因为我对编码还不熟悉,所以我试图避免回调,但我想是时候开始了。如果你的解决方案对我有效,我会向你汇报。顺便问一下,这条线是做什么的?“var val=reply?reply.toString():null;“我怀疑”?“是OR。“:null;”部分如何?是否为“如果reply.toString为null,则返回reply”?这是
var val的缩写等价物;if(reply){val=reply.toString();}else{val=null}
这里需要防止回复返回为
null
undefined
时出错。