gpt4 book ai didi

javascript - 从 node.js 返回文件的解析输出

转载 作者:行者123 更新时间:2023-11-30 10:41:14 27 4
gpt4 key购买 nike

我的文件正在读入并被正确解析,但我似乎无法返回输出字符串。我希望能够从客户端上分配给它的变量访问该字符串。我正在使用异步系列来帮助缓解回调 hell ,并且输出可以很好地到达控制台。但是,如果我将返回输出放在同一个位置,它就不起作用。有什么建议吗?

embed_analytics: function(){
var output;

async.series({
read_file: function(callback){
fs.readFile(__rootpath+'/apps/analytics/data/analytics.json', 'UTF-8', function(err,data){
if(err) {
console.error("Could not open file: %s", err);
process.exit(1);
}
try {
var config = JSON.parse(data);
callback(null, config);
}
catch(exception) {
console.error("There was an error parsing the json config file: ", exception);
process.exit(1);
}
});
}
},
function(err, results) {
_.each(results.read_file, function(element){
output+="$('"+element.Selector+"').click(function(){_gaq.push(['_trackEvent',"+element.Category+","+element.Action+","+element.Label+"]);});\n";
});
console.log(output);
}
);
}

最佳答案

return 从异步函数返回,例如 async.series 的回调,没有任何意义。您需要将回调传递给主函数,并使用 output 调用它:

embed_analytics: function(final_callback){
...
},
function(err, results) {
_.each(results.read_file, function(element){
output+="$('"+element.Selector+"').click(function(){_gaq.push(['_trackEvent',"+element.Category+","+element.Action+","+element.Label+"]);});\n";
});
final_callback(output);
}
);
}

然后像使用任何其他异步函数一样使用它:

embed_analytics(function(data) {
// do something with data
});

关于javascript - 从 node.js 返回文件的解析输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10957310/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com