从backbone.js调用另一个函数获取成功

use*_*796 1 backbone.js

我试图在第一个函数的fetch成功调用另一个函数,但我一直得到一个未定义的错误.console.log('success')正在运行.

在视图中:

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

someFunction: function() {
  someData.fetch({
    success: function(results) {
      console.log('success');
      this.secondFunction();
    }
  });
 },
Run Code Online (Sandbox Code Playgroud)

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

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

someFunction: function() {
  someData.fetch({
    success: function(results) {
      console.log('success');
    }
  });
  this.secondFunction();
 },
Run Code Online (Sandbox Code Playgroud)

san*_*oIT 6

尝试:

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

注意使用self.请记住,您处于回调函数中;-)