Nodejs在回调函数中调用函数

时间:2015-12-16 04:51:04

标签: javascript node.js

我是Javascript和NodeJs的新手,所以也许这个问题对你来说很容易,但对我来说很难;

我的问题是:

我在index.js

中声明了函数getListFolder
var getListFolder = function (data) {
console.log(data);
for(var i = 0; i < imageData.length; i++) {
    if ($.inArray(value, listFolder) != -1) {
        listFolder.push(value);
    }
}
};

之后,我从另一个函数

调用此函数
function getDataUser(request, response) {
console.log(username);
parse.find('Frame', {where: {Username: username}}, function(req, res) {
    console.log(res);
    var imageData = res.results;
    console.log(imageData.length);
    getListFolder(imageData);
    console.log(listFolder);
    response.render('pages/index', {
        link : imageData,
        username: username,
        listFolder: listFolder
    })
});
}

但是当我运行这个项目时,出现了例外

TypeError: Cannot read property 'results' of undefined

var imageData = res.results;

但是当我删除getListFolder(imageData)时就OK了。

我不知道为什么会出现这个问题,所以请给我一些建议。

谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个

var getListFolder = function (data) {
console.log(data);
for(var i = 0; i < data.length; i++) {
    if ($.inArray(value, listFolder) != -1) {
        listFolder.push(value);
    }
}
};


function getDataUser(request, response) {
console.log(username);
parse.find('Frame', {where: {Username: username}}, function(req, res){
    console.log(res);
    var imageData = res.results;
    console.log(imageData.length);
    getListFolder(imageData);
    console.log(listFolder);
    response.render('pages/index', {
        link : imageData,
        username: username,
        listFolder: listFolder
    })
});
}