实际应该是这样更好理解

把,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. js-jsTree

    依赖:jquery.jsjstree.js//cdnjs.cloudflare.com/ajax/libs/jstree/3.3.3/themes/default/style.min.css 备注:绑 ...

  2. Docker save and load镜像保存

    持久化docker的镜像或容器的方法 Docker的镜像和容器可以有两种方式来导出 docker save #ID or #Name docker export #ID or #Name docker ...

  3. vue等单页面应用优缺点

    优点 Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件,核心是一个响应的数据绑定系统. 数据驱动 组件化 轻量 简洁 高效 模块友好 页面切换快 缺点 不支持低版本的浏览器 ...

  4. 撸了一个简易的工具库: jeasy

    一年前,发现在工作的项目中存在大量使用monment的情况,但仅使用到最基础的format功能.monment的体积直接导致项目体积成倍增加,于是jeasy就诞生了. jeasy实现了monment最 ...

  5. python3 速查参考- python基础 7 -> 函数编程之 装饰器、生成器

    装饰器 1.速查笔记 #-- 函数装饰器:是它后边的函数的运行时的声明 由@符号以及后边紧跟的"元函数"(metafunction)组成 @staticmethod def sme ...

  6. Unity学习

    UnityAPI常用方法和类 Unity中的动画系统和Timeline (1) 普通动画创建 (2) 按钮动画和2D精灵动画 (3) 模型和动画导入 C#编程 (1) 委托 Lambda表达式和事件 ...

  7. LeetCode.1170-比较字符串中最小字符的出现频率(Compare Strings by Frequency of the Smallest Char)

    这是小川的第412次更新,第444篇原创 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第263题(顺位题号是1170).在一个非空字符串s上定义一个函数f(s),该函数计算s中最小字 ...

  8. 解MySQL基准测试和sysbench工具

    前言 作为一名后台开发,对数据库进行基准测试,以掌握数据库的性能情况是非常必要的.本文介绍了MySQL基准测试的基本概念,以及使用sysbench对MySQL进行基准测试的详细方法. 文章有疏漏之处, ...

  9. Loj 2230. 「BJOI2014」大融合 (LCT 维护子树信息)

    链接:https://loj.ac/problem/2230 思路: 设立siz数组保存虚点信息,sum表示总信息 维护子树信息link操作和access操作需要进行一些改动 可参考博客:https: ...

  10. Java super与this

    一.super()与this() 1.super(): 只能出现在子类构造器中 且必须位于第一行. 所有子类构造器默认调用super()方法 参数决定使用父类哪一个构造器. 若父类没有相应的构造器,则 ...