如何在ajax完成回调中返回promise?

亚历克斯

我正在尝试使用Promise延迟功能:

load: function(){

   var d = $.Deferred();

   $.ajax(......).done(function(resp){
      if(resp.error)
        return d.reject();

      ....
      return rend(); 
   });

   return d.promise();

},

我知道$.ajax已经返回了一个承诺,但是这里render()也将返回一个承诺,所以我不能只使用该$.ajax承诺,因为

load.then(function() {   .....  })

应该在rend()完成之后运行。

您知道我如何与rend()承诺“融合”d吗?

贝吉

在这里render()也会返回一个promise,所以我不能只使用$ .ajax promise,因为load.then(function() { ..... })应该在rend()完成之后运行。

是的你可以!那就是thenover的力量done:它链接动作,等待回调(render()的结果,然后再解决返回的诺言。

使用

load: function(){
  return $.ajax(…).then(function(resp){
//                 ^^^^
    if(resp.error)
      return $.Deferred().reject(resp.error);

      return render(); 
   }); // this will resolve with the result of your render() promise
       // (or be rejeced with the .error)
},

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

即使测试未返回promise,qunit如何知道异步测试回调何时完成?

来自分类Dev

为什么deferred.when()在完成的回调中返回promise?

来自分类Dev

如何在Ajax帖子中接收Ajax回调

来自分类Dev

如何在MongooseJS的回调中返回查询条件

来自分类Dev

如何在$ .ajax的成功回调中传递$(this)

来自分类Dev

jQuery:如何在ajax调用完成后回调每个循环?

来自分类Dev

jQuery:如何在ajax调用完成后回调每个循环?

来自分类Dev

在返回值之前,如何等待回调完成?

来自分类Dev

APScheduler 回调函数 - 作业完成后如何在 python 中调用某些功能/模块?

来自分类Dev

是否可以从promise通知回调中返回值?

来自分类Dev

是否可以从promise通知回调中返回值?

来自分类Dev

我应该如何在Typescript中定义一个Promise回调的类型?

来自分类Dev

如何在Promise成功或错误回调中获取Ember组件对象?

来自分类Dev

如何在$ promise回调中更轻松地添加成功和错误功能

来自分类Dev

如何在Promise中到达回调以使用Mocha和Sinon进行测试?

来自分类Dev

Ajax回调未返回

来自分类Dev

如何在Java中创建回调

来自分类Dev

如何在课程中列出回调

来自分类Dev

如何在JS中回调函数

来自分类Dev

Ajax 帖子在回调中返回错误函数

来自分类Dev

如何在Flask的回调中返回HTTP响应,或者甚至有关系?

来自分类Dev

如何在Mongoose中为变量分配回调返回值?

来自分类Dev

如何在JS异步回调函数中返回值-GAPI

来自分类Dev

如何在on_message回调中返回发布消息而不打印它(python)

来自分类Dev

如何在Flask的回调中返回HTTP响应,或者甚至有关系?

来自分类Dev

地理位置成功回调-如何在此回调之外使用返回的对象?

来自分类Dev

地理位置成功回调-如何在此回调之外使用返回的对象?

来自分类Dev

Bluebird中的Promise.each是否具有某种所有完成的回调操作?

来自分类Dev

如何在ajax发布回调后刷新KendoUi网格

Related 相关文章

  1. 1

    即使测试未返回promise,qunit如何知道异步测试回调何时完成?

  2. 2

    为什么deferred.when()在完成的回调中返回promise?

  3. 3

    如何在Ajax帖子中接收Ajax回调

  4. 4

    如何在MongooseJS的回调中返回查询条件

  5. 5

    如何在$ .ajax的成功回调中传递$(this)

  6. 6

    jQuery:如何在ajax调用完成后回调每个循环?

  7. 7

    jQuery:如何在ajax调用完成后回调每个循环?

  8. 8

    在返回值之前,如何等待回调完成?

  9. 9

    APScheduler 回调函数 - 作业完成后如何在 python 中调用某些功能/模块?

  10. 10

    是否可以从promise通知回调中返回值?

  11. 11

    是否可以从promise通知回调中返回值?

  12. 12

    我应该如何在Typescript中定义一个Promise回调的类型?

  13. 13

    如何在Promise成功或错误回调中获取Ember组件对象?

  14. 14

    如何在$ promise回调中更轻松地添加成功和错误功能

  15. 15

    如何在Promise中到达回调以使用Mocha和Sinon进行测试?

  16. 16

    Ajax回调未返回

  17. 17

    如何在Java中创建回调

  18. 18

    如何在课程中列出回调

  19. 19

    如何在JS中回调函数

  20. 20

    Ajax 帖子在回调中返回错误函数

  21. 21

    如何在Flask的回调中返回HTTP响应,或者甚至有关系?

  22. 22

    如何在Mongoose中为变量分配回调返回值?

  23. 23

    如何在JS异步回调函数中返回值-GAPI

  24. 24

    如何在on_message回调中返回发布消息而不打印它(python)

  25. 25

    如何在Flask的回调中返回HTTP响应,或者甚至有关系?

  26. 26

    地理位置成功回调-如何在此回调之外使用返回的对象?

  27. 27

    地理位置成功回调-如何在此回调之外使用返回的对象?

  28. 28

    Bluebird中的Promise.each是否具有某种所有完成的回调操作?

  29. 29

    如何在ajax发布回调后刷新KendoUi网格

热门标签

归档