node.js - 无法从express Node js中的模块返回数据

标签 node.js express

我在一个文件中编写了以下代码:

models/exported.js

 module.exports = {
        processedList: function(store_name) {
            var t;
           var tradeIds = exported.find({storename: store_name}, function (err, value) {
                if (err) return console.error(err);
             return value;

            }).select('tid -_id');

        }, // Export connection here
    };

我的路由中有另一个文件

routes/exported.js

var exported = require('../models/exported.js');
var tradeIds = exported.processedList(storename);
    console.log('simer'+tradeIds);
}

但我在 console.log 中未定义。如果我写console.log而不是processedlist中的return语句,那么结果将得到控制台。但我的要求是将数据从模型文件返回到路由文件。

我是 Express 和 Node js 新手。

我将非常感谢您的指导。

最佳答案

根据您的问题,您希望从路由调用函数并从函数获取返回响应到路由。简单使用回调函数。

models/exported.js

 module.exports = {
    processedList: function (store_name, callback) {
        var t;
        var tradeIds = exported.find({storename: store_name}, function (err, value) {
            if (err) {
                callback("error", err)
            } else {
                callback("success", value)
            }
        }).select('tid -_id');
    }
}

routes/exported.js

  var exported = require('../models/exported.js');
exported.processedList('storename', function (err, results) {
    if (err == 'error') {
        console.log(err);
    } else {
        console.log(results);
    }
});

关于node.js - 无法从express Node js中的模块返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42083344/

相关文章:

node.js - 无法本地启动heroku

node.js - Node 预呈现器处理第一页加载 - 后续加载时出现 500 错误

javascript - express gzip 静态内容

node.js - 请求主体在 super 测试中未定义

node.js fs.exists() 将被弃用,改用什么?

node.js - 转义 .env 文件中的 # 字符

javascript - Node.js Express 中间件之间如何传递数据?

node.js - Express:如何在不等待请求的情况下获取 express 服务器正在监听的主机名和端口

javascript - 如何使用webpack加载Nodejs核心模块

node.js - 如何使用文档客户端更新 dynamodb 中的嵌套列表数据