1

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));

よろしく

Bussiere

4

1 に答える 1

2

'datat'は関数の外でスコープされます。twit.searchは非同期であるため、sys.inspectで「datat」をチェックする前に「data」を返さない場合があります。

これにより、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));
于 2013-03-22T12:35:18.920 に答える