node.js - Node js 导出模块在导入它的另一个文件中返回未定义的值

标签 node.js

我在 console.log 中未定义。为什么?如何纠正它,我必须只针对这个原因这样做。

这是演示文件的代码:

exports.selectorquery = function() {
    var conn = "New connection";
    var nt = "Last Connect";

    function myFunc(arg) {
        return conn;    
    }

    setTimeout(myFunc, 3500, 'funky');
}

这是用于 run.js 的:

var go = require('./demofile.js');
console.log(go.selectorquery());

最佳答案

您的函数没有返回任何内容:

具体操作方法如下。

demofile.js

exports.selectorquery = function (callback) {
    var conn = "New connection";
    var nt = "Last Connect";
    function myFunc(arg) {
        callback(null, conn);

    }
    setTimeout(myFunc, 3500, 'funky');
}

run.js

const go = require('./demofile');

go.selectorquery(function(err, data) {
    console.log(data);
});

现在运行:

node run.js

它应该记录

New connection

了解更多:NodeJS Export and Import Modules

希望它能解决您的疑问。

关于node.js - Node js 导出模块在导入它的另一个文件中返回未定义的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51513226/

相关文章:

javascript - 在 Nodejs 中使用 ssh2 传输整个目录

node.js - Node Express 中的静态路由

node.js - 使用nodejs从ibm云函数调用http GET请求

javascript - Node.js 中的异步递归问题

node.js - APNS 网关消息错误

mysql - Node.js express 和 mySQL 数据

javascript - React JS + React Router 可以使用 $.get 但不能使用 $.ajax PUT

javascript - io.on 不是函数

node.js - Express.js 和请求 : Headers unexpectedly reset themselves

特定于平台的新行的 Node.JS 常量?