fe-interview
fe-interview copied to clipboard
[js] 第175天 请说说你对promise的理解
第175天 请说说你对promise的理解
- Promise是ES6中对回调的处理方案,用于处理回调过多,形成回调地狱,不直观的问题;Promise可以链式调用,代码直观易操作,并且有
Promise.all
,Promise.race
等语法糖便于操作
用同步的编码方式来处理异步代码 解决旧时代用回调函数来解决异步的问题,一定程度避免了回调地狱
可以从两个角度理解Promise: 一种角度是“Promise是对未来值 的封装”。另一种角度是“可以把Promise看作完成事件”。 同时,Promise支持链式调用,也可以作为异步操作的流程控制。
Promise是ES6引入的异步编程的新解决方案,是一个构造函数,promise有三种状态: pending(等待态),fulfiled(成功态),rejected(失败态) .状态一旦改变,就不会再变,用来封装异步操作并可以获取其成功resolve或失败reject的结果。 then方法指定resolve、reject状态的回调函数 Catch方法指定reject失败的回调函数 使用resolve,reject,throw可以改变promise状态 通过返回 new Promise(()=>{})来中止promise链式调用
Promise也是异步的一个解决方案,解决了回调地域的问题,状态一旦改变,不可更改。有race/all等API方法。
收到
收到