'datat' 是你的函数外作用域。 twit.search是异步的,因此在使用sys.inspect检查'datat'之前可能不会返回'数据'。
这应该让你看到datat:
var datat;
twit.search('#louieck', {include_entities:true,page:paget,maxid:maxidt}, function(data) {
// and output to the console:
datat = data;
sys.puts(sys.inspect(datat));
});
但是最好你会使用这样的回调...
var datat;
var callback = function(d){
sys.puts(sys.inspect(d));
datat = d;
// do something more with datat
};
twit.search('#louieck', {include_entities:true,page:paget,maxid:maxidt}, function(data) {
callback(data);
});
编辑 - 简化为每个评论...
var datat;
var callback = function(d){
sys.puts(sys.inspect(d));
datat = d;
// do something more with datat
};
twit.search('#louieck', {include_entities:true,page:paget,maxid:maxidt},callback(data));
当你调用'sys.puts'时,回调函数还没有被调用,所以'datat' 是空的。欢迎来到异步的世界:) – robertklep 2013-03-22 12:29:11