![](https://img-blog.csdnimg.cn/20200811092335434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
promise
promise相关知识点
Lomon6
Talk is cheap ...
展开
-
Promise(八)面试题
要知道的:Promise的构造函数中的执行器函数(executor)是同步执行的,而却构造函数里面的resolve()和reject()回调函数也是同步执行的Promise对象的.then方法是同步执行的,但是里面的onResolved()和onRejected()回调函数是异步执行的定时器回调、DOM事件的回调、ajax回调被放进宏队列promise的回调(指得是promsie对象的....原创 2019-12-09 13:11:57 · 150 阅读 · 0 评论 -
async和await
async/*** 1、async函数:* 用在函数定义的前面* 函数的返回值为promise对象* promise对象的结果由函数的返回值决定*/await/*** 1、await表达式* await右侧的表达式一般为promise对象,但也可以是其他的值* 如果表达式是promi...原创 2019-12-05 22:06:26 · 89 阅读 · 0 评论 -
宏队列和微队列
/*** 说明:* 1、JS中用来存储待执行回调函数的队列包含两个不同特定的队列* 2、宏队列:用来保存待执行的宏任务(回调),比如:定时器回调、DOM事件的回调、ajax回调* 3、微队列:用来保存待执行的微任务(回调),比如:promise的回调、MutationObserver的回调* 4、JS执行时会区别这两个队列:* 4.1、JS引擎首先必须先执行所有初始化...原创 2019-12-05 22:02:22 · 1129 阅读 · 0 评论 -
promise(0)预备知识
文章目录两种类型的回调函数同步回调异步回调常见的内置错误处理错误两种类型的回调函数回调函数:自己定义的函数不是自己调用由系统进行调用eg:setTimeout不是回调函数,因为它不是我们自己定义的同步回调理解:立即执行,完全执行完了才结束,不会被放到回调队列中栗子:数组遍历的相关回调函数、Promise的executor函数异步回调理解:不会被立即执行,会将其放到回...原创 2019-12-03 19:05:55 · 171 阅读 · 0 评论 -
promise(7)promise的异常传透
文章目录promise的异常传透中断promise链promise的异常传透举个栗子:/*** promise异常传透???* (1)、当使用promise的then链式调用时,可以在最后指定失败的回调。* (2)、前面任何操作出了异常,都会传到最后失败的回调中处理。*/ //promise1 new Promise((resolve,reject) => { ...原创 2019-12-02 11:43:22 · 697 阅读 · 1 评论 -
promise(6)promise如何串联多个操作任务
(1)、 promise的then()返回一个新的promise,可以看成then()的链式调用(2)、通过then的链式调用串联多个同步/异步任务注意:.then()里面指定回调函数的执行发生的条件:必须事先指定好对应的回调函数对应状态发生改变傻大个...原创 2019-12-01 21:59:21 · 1387 阅读 · 0 评论 -
promise(5)promise.then()返回的新promise的结果状态由什么来决定
简单表达.由then()指定的回调函数执行的结果决定详细表达2、详细表达:* 2.1、如果抛出异常:新的promise变为rejected,reason为抛出的异常* 2.2、如果返回的是非promise的任意值,新的promise变为resolved,value为返回的值* 2.3、如果返回的是另一个新的promise,此p...原创 2019-12-01 21:21:16 · 2600 阅读 · 0 评论 -
promise(4)修改promise状态和回调函数的顺序
文章目录改变promise的状态和指定回调函数的顺序谁先谁后???如何先改变状态,在指定回调???什么时候才得到数据???改变promise的状态和指定回调函数的顺序谁先谁后???答案:都有可能:正常情况下:先指定回调函数,在改变状态,当然顺序也可以反过来const p1 = new Promise((resolve,reject) => { //执行器函数 ...原创 2019-12-01 17:43:21 · 669 阅读 · 0 评论 -
promise(3)如何修改promise的状态
文章目录如何修改promise的状态一个promise指定多个成功/失败的回调函数,都会调用吗?如何修改promise的状态/*** 1.修改promise状态的几种方式??* (1): resolve(value) : 如果当前状态是pending就会变为resolved* (2): reject(reason) : 如果当前状态是pending就会变为rejected* (...原创 2019-12-01 17:29:53 · 3403 阅读 · 0 评论 -
promise(2)promise的api
文章目录创建promise对象Promise.prototype.then() 和Promise.prototype.catch()Promise.resolve()和Promise.reject()Promise.all()Promise.trace()创建promise对象/** * 1. 创建promise对象,并传入【执行器函数】 new Promise(execto...原创 2019-12-01 15:03:38 · 153 阅读 · 0 评论 -
promise(1)promise的理解和使用
理解抽象表达Promise是JS中进行异步编程的新的解决方案。注:旧的解决方案:纯回调的形式具体表达从语法上来讲:Promise是一个构造函数从功能上来讲:Promise对象用来封装一个异步操作并可以获取其结果。Promise的状态改变pending变为resolvedpending变为rejected注意: 只有这两种状况,且一个Promise对象只能改变一次...原创 2019-11-30 21:51:11 · 221 阅读 · 0 评论 -
let的理解
文章目录对let的通俗理解什么是提升var 声明的「创建、初始化和赋值」过程function 声明的「创建、初始化和赋值」过程let 声明的「创建、初始化和赋值」过程对于for循环中的let理解对let的通俗理解let 声明的变量的作用域是块级的;let 不能重复声明已存在的变量;let 有暂时死区,不会被提升。什么是提升需要理解 JS 变量的「创建create、初始化initia...原创 2019-09-15 16:14:37 · 750 阅读 · 0 评论