js - Promise

简介: > ES6提出的异步编程解决方案.>> 承诺的意思,是一个专门用来解决异步 **回调地狱** 的问题

什么是Promise?

ES6提出的异步编程解决方案.

承诺的意思,是一个专门用来解决异步 回调地狱 的问题

  • 回调地狱,其实就是回调函数嵌套过多导致的

  • 当代码成为这个结构以后,已经没有维护的可能了

  • 所以我们要把代码写的更加的艺术一些

promise使用语法

// 检测机构
//resolve : 处理异步时成功的状态
//reject : 处理异步时失败的状态
new Promise((resolve,reject) => {
   
    if(处理异步){
   
        resolve([参数]);
    }else{
   
        reject([参数]);
    }
})

Promise原型对象的方法

  1. then(([参数]) => {}) : 当Promise对象返回resolve时,可以通过then方法执行后续的操作.
  2. catch([参数] => {}) : 当promise对象返回reject时,可以通过catch方法执行后续的操作.

处理多个异步

new Promise((resolve,reject) => {
   
    if(处理异步){
   
        resolve([参数]);
    }else{
   
        reject([参数]);
    }
})
.then(() => {
   
    return new Promise(() => {
   

    })
})
.then(() => {
   
    return new Promise(() => {
   

    })
})
……
.then(() => {
   

})

Promise的静态方法

Promise.all() 将调用所有的promse对象,全部返回resolve时,该对象才返回resolve。如果有一个promise返回reject时,该对象返回reject

Promise中的三种状态

  1. resolved(fulfilled) : 成功状态
  2. pending : 进行中状态
  3. rejected : 失败状态
  • 这个时候,我们的代码已经改观了很多了

  • 基本已经可以维护了

  • 但是对于一个程序员来说,这个样子是不够的

  • 我们还需要更加的简化代码

  • 所以我们就需要用到一个 es7 的语法了

  • 叫做 async/await

相关文章
|
9天前
|
前端开发 JavaScript 开发者
JavaScript 中的异步编程:深入了解 Promise 和 async/await
【10月更文挑战第8天】JavaScript 中的异步编程:深入了解 Promise 和 async/await
|
12天前
|
前端开发 JavaScript 小程序
JavaScript的ES6中Promise的使用以及个人理解
JavaScript的ES6中Promise的使用以及个人理解
13 1
|
29天前
|
前端开发 JavaScript
JavaScript中的Promise:简化异步编程
JavaScript中的Promise:简化异步编程
|
6天前
|
前端开发 JavaScript UED
深入了解JavaScript异步编程:回调、Promise与async/await
【10月更文挑战第11天】深入了解JavaScript异步编程:回调、Promise与async/await
6 0
|
1月前
|
Web App开发 前端开发 JavaScript
js之 Promise | 12-8
js之 Promise | 12-8
|
9天前
|
前端开发 JavaScript 开发者
深入理解JavaScript中的Promise:用法与最佳实践
【10月更文挑战第8天】深入理解JavaScript中的Promise:用法与最佳实践
18 0
|
1月前
|
前端开发 JavaScript
ES6新标准下JS异步编程Promise解读
ES6新标准下JS异步编程Promise解读
33 3
|
1月前
|
前端开发 JavaScript
JavaScript Promise-2
JavaScript Promise-2
22 3
|
1月前
|
Web App开发 前端开发 JavaScript
JavaScript Promise-1
JavaScript Promise
19 3
|
1月前
|
JavaScript 前端开发
JS中Promise的类式实现写法
JS中Promise的类式实现写法