1

最初の関数でフェッチが成功したときに別の関数を呼び出そうとしていますが、未定義のエラーが発生し続けます。console.log('success') は機能しています。

ビューで:

secondFunction: function() {
  console.log('second function called');
},

someFunction: function() {
  someData.fetch({
    success: function(results) {
      console.log('success');
      this.secondFunction();
    }
  });
 },

このようにすると問題ありませんが、データの最初の関数が成功するまで待つために2番目の関数が必要です。

secondFunction: function() {
  console.log('second function called');
},

someFunction: function() {
  someData.fetch({
    success: function(results) {
      console.log('success');
    }
  });
  this.secondFunction();
 },
4

2 に答える 2

6

試す:

someFunction: function() {
  var self = this;
  someData.fetch({
    success: function(results) {
      console.log('success');
      self.secondFunction();
    }
  });
 },

selfの使用に注意してください。コールバック関数にいることに注意してください;-)

于 2012-10-12T04:01:55.070 に答える