功能没有回报

时间:2016-04-18 17:50:12

标签: javascript string function parsing return

我构建了这个函数,但它什么也没有返回:

function myFunction(index){
    var resultat = "";
    fs.readFile(__dirname + '/File.xml', function(err, data) {
        parser.parseString(data, function (err, result) {
            resultat = result['level1']['level2']['level3'][index];
            //console.log(resultat); // works
        });
    });
    return resultat;// Return nothing
    // return 'test' // Works
}

希望你能帮助我!

1 个答案:

答案 0 :(得分:0)

您的函数在xml调用有时间加载远程XML之前返回。

尝试:

function getItem(index, callback){
    var resultat = "";
    fs.readFile(__dirname + '/SearchRequest.xml', function(err, data) {
        parser.parseString(data, function (err, result) {
            resultat = result['rss']['channel']['item'][index];
            //console.log(resultat); // works
            callback(resultat);
        });
    });
}

var index = 1;
getItem(index, function(d){
  console.log(d);
});