我意识到JavaScript回调已经解释了一遍又一遍,但我似乎找不到保存内部回调函数值的方法。
request.get('http://google.com', function(error, response, body){
var $ = cheerio.load(body);
// Process HTML here
// How do I save the result from processing with a callback
}
// Or
var parse = function(error, response, body){
// Process HTML here
// Assign result to a variable or pass a callback to this function
};
request.get('http://google.com', parse);
我有多个url要处理,之后我希望有一个对象来总结信息。
我所说的保存是指分配给变量或保存到文件。
请记住,当异步操作完成时(就像第二个线程一样)将调用回调,这意味着request.get
之后的代码那时已经执行,不能使用return
发回值。
解决方案是使所有进程都在回调中,或者具有其他函数。不返回值,只需生成并调用next_function(the_return_value)
(类似的东西)。