码迷,mamicode.com
首页 > Web开发 > 详细

jquery中的Promise 之二

时间:2014-12-21 19:16:49      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

参考 http://www.bitstorm.org/weblog/2012-1/Deferred_and_promise_in_jQuery.html

http://joseoncode.com/2011/09/26/a-walkthrough-jquery-deferred-and-promise/

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
<script src="jquery.js"></script>
<script type="text/javascript">
function a(){
  var post = $.ajax({
    type: "POST",
    url: "res.php",
    data: { name: "John", location: "Boston" }
  });
  return post; //同时也是一个promise对象  是可以使用then的
}

//这里演示一下deferred的用法
function b(){
  var post = a();
  var deferred = $.Deferred();
  post.done(function(){
    deferred.resolve("hello world"); //可以给下一个函数Promise接受
  }).fail(function(){
    deferred.reject(some thing wrong);
  });
  return deferred.promise();
}



function c(){
  var post = b();
  post.then(function(data){
    console.log(data);
  },function(data){
    console.log(data);   //这里接受到了错误  并且还是可以继续向下一层传递的 原来一直以为某一层接收到的是错误就不能传到下一层
  });
  return post;
}

function d(){
  var post = c();
  post.then(function(data){
    console.log(d  + data);
  },function(data){
    console.log(d  + data);
  })
}

d();
</script>
</body>
</html>

 

jquery中的Promise 之二

标签:

原文地址:http://www.cnblogs.com/cart55free99/p/4176819.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!