1

我试图在第一个函数中获取成功时调用另一个函数,但我不断收到未定义的错误。console.log('success') 正在工作。

在视图中:

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

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

当我这样做时很好,但我需要 secondFunction 等到第一个数据成功。

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 回答
0

你必须绑定这个

`

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

`

于 2016-01-02T03:28:03.997 回答