承诺和方法

时间:2014-02-05 15:23:03

标签: jquery

我希望链接一系列的承诺,但我希望用它自己的方法来定义每个承诺。

以下是我的方法:

p.methodOne = function() {

  var prm_dataCount = $.ajax({'get-data'});

  prm_dataCount.done(function(data){p.dataCount = data;});

}

p.methodTwo = function() {

  var prm_dataCountTwo = $.ajax({'get-data-two'});

  prm_dataCountTwo.done(function(data){p.dataCountTwo = data;});

}

我希望称他们为:

this.methodOne().then(this.methodOne);

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您需要返回方法中的承诺。

p.methodOne = function() {
  var prm_dataCount = $.ajax({'get-data'});
  prm_dataCount.done(function(data){p.dataCount = data;});
  return prm_dataCount;
}

p.methodTwo = function() {
  var prm_dataCountTwo = $.ajax({'get-data-two'});
  prm_dataCountTwo.done(function(data){p.dataCountTwo = data;});
  return prm_dataCountTwo;
}

然后你可以这样做:

this.methodOne().then(this.methodTwo);