promise什么意思(promise后面加do还是doing)

作者:电脑培训网 2024-05-06 09:54:02 553

Promise

Promise是什么?

功能:支持链式调用,解决回调地狱问题

promise什么意思(promise后面加do还是doing)

抽象表达:

Promise是一项新技术

Promise是JS异步编程的新解决方案,旧的解决方案是使用回调函数

具体表达:

从语法上来说:Promise是一个构造函数

从功能上来说,Promise对象用于封装异步操作并获取成功或失败的结果值。

属于异步操作

fs文件模块、数据库操作、ajax、定时器

Promise三个状态

pending:初始状态,既不是成功状态也不是失败状态。fulmed:表示操作成功完成。rejected:表示操作失败。

一旦状态从待处理变为成功或失败,就无法再次更改。

Promise具体操作

newPromise创建一个实例//伪代码letp=newPromise((resolve,reject)={if(success){resolve('ok')}else{reject('err')}})

Promise实例有两种保存值的方法:resolve保存成功的值,reject保存失败的值,then方法,第一个回调函数value={}接收resolve保存成功的值,第二个回调函数reason={}接收错误信息或拒绝保存的值p.then(value={console.log(value)},reason={console.warn(reason)})

正常使用时,也可以省略第二个参数

p.then(value={console.log(value)})

catch方法,如果失败则进入该方法p.catch(err={console.log(err)})

finally方法,无论成功还是失败都可以进入该方法p.finally(err={console.log(err)})

Promise函数的方法

Promise.resolve()方法返回一个成功/失败对象

Promise.reject()方法返回一个失败对象

Promise.all()方法

包含n个promise的数组,(promises)={}返回一个新的promise,只有全部成功才成功,只要有一个失败,全部都会失败。

letp1=Promise.resolve('cccc')letp2=Promise.resolve('cccc2')Promise.all{[p1,p2]}

Promise.race方法

包含n个promises的数组={}返回一个新的promise,最终结果是第一个promise执行的结果

如何改变Promise状态

resolve()peding=fulfilled(resolved)reject()peding=rejectedthow'SomethinggoneError'

一个promise指定多个成功/失败回调函数,都会调用吗?

当promise改变到相应状态时会被调用

改变promise状态和指定回调函数谁先谁后

有可能。通常,先指定回调函数,然后再更改状态。不过,也可以先改变状态,然后再指定回调。如何先改变状态,然后指定回调?

A。直接在执行器中调用resolve()/reject()

b.在调用then()之前延迟更长的时间。什么时候能拿到数据?

如果先指定回调,那么当状态发生变化时,就会调用回调函数并获取数据。

如果先改变状态,那么当指定回调时,会调用回调函数,获取数据

promise.then()返回新的promise的结果的状态由什么决定?

。then()指定的回调函数的执行结果决定是否解除错误。如果结果不是Promise对象,则失败返回结果。如果该对象是Promise对象,则成功返回该对象。失败/成功

promise如何串联多个任务

然后返回一个新的承诺

promise异常穿透

捕获

中断promise链

返回处于填充状态的Promise对象

返回新的Promise(()={})

手写Promise

相关推荐

  • 培训机构的信任状,培训机构的信任状态是什么

    培训机构的信任状,培训机构的信任状态是什么

    大家好,今天小编关注到一个比较有意思的话题,就是关于培训机构的信任状的问题,于是小编就整理了1个相关介绍培训机构的信任状的解答,让我们一起看看吧。你在职场上遇到…

    培训机构的信任状,培训机构的信任状态是什么 2024-09-20 12:22:51
  • 哪个机构培训cisp好,cisp培训机构哪家好

    哪个机构培训cisp好,cisp培训机构哪家好

    大家好,今天小编关注到一个比较有意思的话题,就是关于哪个机构培训cisp好的问题,于是小编就整理了1个相关介绍哪个机构培训cisp好的解答,让我们一起看看吧。c…

    哪个机构培训cisp好,cisp培训机构哪家好 2024-07-07 06:44:31
  • 以色列印度培训机构,以色列christina培训

    以色列印度培训机构,以色列christina培训

    大家好,今天小编关注到一个比较有意思的话题,就是关于以色列印度培训机构的问题,于是小编就整理了4个相关介绍以色列印度培训机构的解答,让我们一起看看吧。亚训有哪些…

    以色列印度培训机构,以色列christina培训 2024-06-07 07:44:05
  • cisp培训机构名单上海,cisp 上海

    cisp培训机构名单上海,cisp 上海

    大家好,今天小编关注到一个比较有意思的话题,就是关于cisp培训机构名单上海的问题,于是小编就整理了1个相关介绍cisp培训机构名单上海的解答,让我们一起看看吧…

    cisp培训机构名单上海,cisp 上海 2024-05-06 11:12:32
  • vue typeerror is not function(vue type check failed for prop)

    vue typeerror is not function(vue type check failed for prop)

    vue3+vite+typescript不提供名为xxx的导出解决方案vue3+vite+typescript不提供名为xxx的导出解决方案。使用TinyMCE…

    vue typeerror is not function(vue type check failed for prop) 2024-05-05 12:56:16
热门推荐

猜你喜欢