一 什么是 Promise?一个 Promise 对象就像容器一样,在容器中写着一段执行具体操作的代码,并且在这段代码执行结束后,会执行两个回调函数,一个是操作成功的回调函数(resolve),一个是操作失败的回调函数(reject)
二 为什么有 Promise?Promise 的出现是为了解决异步编程中,主要使用的回调机制的几个问题: Callback hell:Promise 可以把一层层嵌套的 callback 变成 .then().then()…,从而使代码编写和阅读更直观 - 错误处理难:Promise 比 callback 在错误处理上更清晰直观
- 同时进行多个异步操作的代码编写困难:Promise 可以简单处理此情况
三 Promise常用api - .then() promise中方法执行完以后,可以执行,里面有两个参数,分别是成功的回调函数和失败的回调函数。
- resolve 使用 promise.resolve 方法可以快速的返回一个promise对象
- reject 使用 promise.reject 方法可以快速的返回一个promise对象
- all 同时执行多个并行异步操作。
四 Promise常用的两个用法1 如何解决 callback hell?
.then()没有返回值的函数,会使得 Promise 链不再延续,此时你再往后面调用 .then() 是没有作用的。 Promise.resolve('foo').then(function(s) { console.log(s);}).then(function(s) { // Never executed console.log(s);}); .then()中有返回值函数,会使 Promise 链可以继续 Promise.resolve('foo').then(function(s) { console.log(s); return s + 'bar';}).then(function(s) { console.log(s);});// foo// foobar .then()有返回值且返回值为另一个 Promise 对象的函数,也会使 Promise 继续 下载地址: Json优缺点及使用介绍 JavaScript |