Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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/35.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 返回值在node.js回调函数中未定义_Javascript_Node.js - Fatal编程技术网

Javascript 返回值在node.js回调函数中未定义

Javascript 返回值在node.js回调函数中未定义,javascript,node.js,Javascript,Node.js,我正在node.js中编写一个回调函数,但它返回一个未定义的值。下面是代码 exports.getRecord = (function(callback) { return function(req, res) { var recordName; DBObject.record.find(jsonString, function(err, doc_record) { doc_record.forEach(function(docRe

我正在node.js中编写一个回调函数,但它返回一个未定义的值。下面是代码

exports.getRecord = (function(callback) {
    return function(req, res) {
        var recordName;
        DBObject.record.find(jsonString, function(err, doc_record) {
            doc_record.forEach(function(docRecordTravel) {
                recordName = callback(docRecordTravel.recordCode);
                console.log(recordName);
            })
            }
    })(callbackFunc);

    function callbackFunc(recordCode) {
        var recordName;
        DBObject.var_recordRack.find({
            recordID: recordCode
        }, function(err, record) {
            record.forEach(function(recordLoop) {
                recordName = recordLoop.recordName;

            });
            console.log("callback " + recordName);
            return recordName
        });
    }
在callbackFunc中,它向我显示recordName,但当我返回它时,它显示undefined。如何在node.js的callbacks中返回值。

您不能

它使用回调函数,因为它是异步的

调用回调时,上一个函数已经完成,没有地方可以返回值

如果要对数据执行某些操作,则必须从回调函数执行。

请查看。不要让AJAX的角度影响你:问题是一样的。