/*如果调用resolve函数和reject函数时带有参数,那么它们的参数会被传递给回调函数。
reject函数的参数通常是Error对象的实例,表示抛出的错误;
resolve函数的参数除了正常的值以外,还可能是另一个Promise实例,如下:*/

/*上面代码中,p1和p2都是Promise的实例,但是p2的resolve方法将p1作为参数,即一个异步操作的
结果是返回另一个异步操作。*/
/*注意,这时p1的状态就会传递给p2,也就是说,p1的状态决定了p2的状态。如果p1的状态时pending(进行中),
那么p2的回调函数就会等待p1的状态改变;如果p1的状态已经是resolved或者rejected,那么p2的回调函数将会立刻执行*/
/*p1是一个promise,7秒之后变为rejected。p2的状态在2秒之后改变,resolve方法返回的是p1。
由于p2返回的是另一个promise,导致p2自己的状态无效了,由p1的状态决定p2的转态。
所以,后面的then语句都变成针对后者(p1)。又过了4秒,p1变为rejected,导致触发catch方法指定的回调函数*/

promise对象的回调函数resolve的参数为另一个promise对象的更多相关文章

  1. 微信小程序如何把接口调用成功的回调函数返回的参数return出去?(promise就可以解决)

    举个栗子//获取应用实例 //const app = getApp() //const util = require('../../utils/util.js') //const sign = uti ...

  2. jQuery.isEmptyObject()函数用于判断指定参数是否是一个空对象。

    jquery中有一个函数isEmptyObject()用来判断制定参数是否是一个空对象. 示例如下: function isEmptyObject(e) { var t; for (t in e) r ...

  3. Promise对象和回调函数,解决异步数据传递问题

    下面的代码例子,均已小程序的异步请求数据为案例来说明 1.利用回调函数,来解决异步数据传递问题 异步操作api.js const getBooks = (url, callback) => { ...

  4. 十四、Android学习笔记_Android回调函数触发的几种方式 广播 静态对象

    一.通过广播方式: 1.比如登录.假如下面这个方法是外界调用的,那么怎样在LoginActivity里面执行登录操作,成功之后在回调listener接口呢?如果是平常的类,可以通过构造函数将监听类对象 ...

  5. C/C++ 不带参数的回调函数 与 带参数的回调函数 函数指针数组 例子

    先来不带参数的回调函数例子 #include <iostream> #include <windows.h> void printFunc() { std::cout<& ...

  6. Android学习笔记_74_Android回调函数触发的几种方式 广播 静态对象

    一.通过广播方式: 1.比如登录.假如下面这个方法是外界调用的,那么怎样在LoginActivity里面执行登录操作,成功之后在回调listener接口呢?如果是平常的类,可以通过构造函数将监听类对象 ...

  7. Javascript-jQuery【1】-用promise()实现html()回调函数

    $('#divId').html(someText).promise().done(function(){ //your callback logic / code here });

  8. JSONP跨域后回调函数中的参数使用

    有关于跨域的解决方案网上的资源十分丰富,我是参考这个博主的:https://blog.csdn.net/u014607184/article/details/52027879: 这里的response ...

  9. 向requestAnimationFrame的回调函数中传递参数

    其实跟setTimeout类似,我们知道传参传的是一个函数,那么我们是不是可以用一个匿名函数来包裹这个函数的执行呢function fn(fc){ console.log('fc:',fc) fc++ ...

随机推荐

  1. TLS反调试

    0x01 TLS反调试简介 TLS(Thread Local Storage)原本的目的是解决多线程程序中变量同步的问题.线程本身有独立于其他线程的栈空间,因此线程中的局部变量不用考虑同步问题.多线程 ...

  2. Android开发---基本UI组件1:自动拨电话,自动上网,输入框不换行、只输数字、只输文本、只输密码

    1.activity_main.xml 描述:构建一个按钮 <?xml version="1.0" encoding="utf-8"?> <L ...

  3. Office 365 - For security reasons DTD is prohibited in this XML document

    博客地址:http://blog.csdn.net/FoxDave 今天在测试东西的时候发现在本机运行CSOM代码或使用Office 365 PowerShell时,出现了如下错误: Connec ...

  4. mongodb启动出现Failed to connect to 127.0.0.1:27017 after 5000ms milliseconds,giving up

    今天一早准备继续学习mongodb,但是在命令行运行mongo.exe报错 出错原因:mongod一不小心被非法关闭,留下了一个mongod.lock, 将数据库给锁定了 解决方法: 1)在data路 ...

  5. array_reverse()函数

    $a=array(1,2,4,5,6); print_r(array_reverse($a)); 结果:Array ( [0] => 6                              ...

  6. Spring 消息

    RMI.Hessian/Burlap的远程调用机制是同步的.当客户端调用远程方法时,客户端必须等到远程方法完成之后,才能继续执行.即使远程方法不向客户端返回任何消息,客户端也要被阻塞知道服务完成. 消 ...

  7. 找出n个自然数(1,2,3,……,n)中取r个数的组合

    <?php /** * 对于$n和$r比较小, 可以用这种方法(当n=5, r=3时) */ function permutation1($n, $r) { for($i=1; $i<=$ ...

  8. 机器学习: K-means 聚类

    今天介绍机器学习里常见的一种无监督聚类算法,K-means.我们先来考虑在一个高维空间的一组数据集,S={x1,x2,...,xN}" role="presentation&quo ...

  9. JavaBasic_10

    JVM中的对一个对象的所有初始化动作,是javac在字节码文件中帮我们生成的 1.成员变量的显式初始化 2.初始化代码块(构造代码块) 3.构造方法 初始化静态的东西 在Java中,一个没有方法体的方 ...

  10. 从hive导出数据到mysql

    在使用过程中可能遇到的问题: sqoop依赖zookeeper,所以必须配置ZOOKEEPER_HOME到环境变量中. sqoop-1.2.0-CDH3B4依赖hadoop-core-0.20.2-C ...