promise基础用法是什么

发布时间:2022-04-18 17:08:04 作者:iii
来源:亿速云 阅读:157

这篇文章主要介绍“promise基础用法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“promise基础用法是什么”文章能帮助大家解决问题。

  js是单线程的,Promise解决就是异步编程一种思想,比传统的回调函数和事件强大好多。Promise相当于异步操作结果的占位符,他不会去订阅一个事件,也不会传递一个回调函数给目标函数,而是让函数返回一个Promise(相当于订单号)。

  Promise:英文承诺意思,Promise对象中保存某个未来才回结束的事件(通常是一个异步操作)的结果。

  Promise有三个状态:

  pendding,rejected,resolved

  Promise对象状态的切换只有两种可能:

  pendding->rejected,pendding->resolved

  基础用法:

  new Promise((resolved,rejected)=>{})

  Promise对象resolved,rejected函数,在异步事件状态pendding->resolved回调成功时,会调用resolved函数;当异步操作失败时,回调用rejected函数。

  Promise的then(resolved,rejected)函数参数有两个,一个resolved函数,一个rejected函数。

  Promise的catch():捕捉promise错误函数,和then函数参数中rejected作用一样,处理错误,由于Promise抛出错误具有冒泡性质,能够不断传递,会传到catch中,所以建议所有错误处理放在catch中,then中只处理成功的。

  Promise一个大特色就是可以链式调用,在then,catch中可以返回Promise对象。

  Promise.all([promise1,promise2]):参数是promise对象数组,等到所有promise对象状态resolved,该对象的状态会resolved,会立即调用then,当有一个promise对象为rejected,该对象的状态就会边城rejectd,执行catch。

  Promise.race([promise1,promise2]):竞速函数,当有一个promise对象状态变化了,该对象就会采用和相同的状态,并执行相应函数。

  promise的生命周期

  每个 Promise都会经历一个短暂的生命周期,初始为挂起态( pending state),这表示异步操作尚未结束。一个挂起的 Promise 也被认为是未决的( unsettled )。一旦异步操作结束, Promise就会被认为是已决的( settled ),并进入两种可能状态之一:

  1. 已完成(fulfilled ): Promise 的异步操作已成功结束;

  2. 已拒绝(rejected ): Promise 的异步操作未成功结束,可能是一个错误,或由其他原因导致。

  一旦状态改变,就「凝固」了,会一直保持这个状态,不会再发生变化。当状态发生变化,promise.then绑定的函数就会被调用。注意:Promise一旦新建就会「立即执行」,无法取消。这也是它的缺点之一。

关于“promise基础用法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

推荐阅读:
  1. JavaScript API的promise用法
  2. ES6基础之 Promise 对象用法实例详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

promise

上一篇:微信小程序中怎么实现左右滚动公告栏效果

下一篇:css3中的calc怎么使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》