实际应该是这样更好理解

把,asyncGreet换成实际的http请求SyncRequest。

如果我们多个请求那么 就是多个 promise我们要么就是链式then,要么就是$q.all

可以根据需要进行选择使用。

/***
* promise对象和then执行函数(我这样称呼),根据输出的结果我们可以看出,当我们在调用的
* 时候执行可以看作是两部分,第一:promise,第二then();可以说是先要执行这个promise,然后执行then
* 对promise进行解析和输出
* 但是对于函数 asyncGreet 内部来说,他还是一个异步的,由‘Start3’和‘Start4’ 我们可以看出,这里先执行了
* ‘Start3’紧接着执行了‘Start4’,对于定时器settimeout,这个步骤已经绕过去了,2秒后,settimeout开始执行
* 那么这里面defered不能和一般的 console这个相对比,为什么?下面会说,
* 在settimeout总执行我们暂且可以看作是顺序执行。对于defered来说,他的notify 必须是在resolve,和reject
* 之后其实这个很简单理解,我们可以把 resolve,和reject 理解未deferred中的 ‘return’。
* 所以notify不能在return之后。对于 这个defered的返回的处理自然是在then中的函数,
* 有一个值得注意的是then中所有希望的输出顺序来说,‘Start1’并不是第一个输出的,而是notify先输出,
* 这就是上面我为什么说settimeout中deferred和console的执行不能对比,因为就输出而言我们也可以猜测
* notify是在最先执行的,只不过放到了deferred这个对象中了,我们并没有看到(这个并不影响我们的理解和后续处理)
* 所以notify的回掉函数是最先执行的,后续的resolve和reject其实是平级的,这两个回掉函数中则是顺序执行
*
*
*/

最新文章

  1. FMDB简单封装和使用
  2. python第二十天-----Django补充
  3. SQL Server 2012 启动
  4. 01背包问题:Charm Bracelet (POJ 3624)(外加一个常数的优化)
  5. 从零开始写一个武侠冒险游戏-7-用GPU提升性能(2)
  6. Python核心编程--学习笔记--7--字典和集合
  7. flume+kafka+storm
  8. linux下改变文件的字符编码
  9. Java设计模式系列之动态代理模式(转载)
  10. 二、记一次失败的 CAS 搭建 之 证书配置
  11. 通过SMTP协议来发送邮件
  12. 为Distinct准备的通用对比器
  13. 1st 四则运算题目生成程序
  14. 20164305徐广皓 - Exp1 PC平台逆向破解(5)M
  15. runTime动态给类添加属性
  16. linux修改主机名,关闭图形化界面,绑定ip地址,修改ip地址
  17. MySQL安装与启动
  18. 消息队列介绍和SpringBoot2.x整合RockketMQ、ActiveMQ 9节课
  19. 20145225《网络对抗》Exp7 网络欺诈技术防范
  20. ppt罗列项排版

热门文章

  1. 【POJ - 2078】Matrix(dfs)
  2. jQuery代码书写规范
  3. 【FFMPEG】各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
  4. teach-es6-1
  5. [目标检测] 从 R-CNN 到 Faster R-CNN
  6. 代码中 方法 处提示:This method has a constructor name
  7. Spring系列七:Spring 自动装配
  8. JS的精确简单的加减乘除
  9. WPF 异步加载窗体
  10. GukiZ and Binary Operations CodeForces - 551D (组合计数)