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

相关文章
|
17小时前
|
JSON 前端开发 JavaScript
浅谈JavaScript中的Promise、Async和Await
【10月更文挑战第30天】Promise、Async和Await是JavaScript中强大的异步编程工具,它们各自具有独特的优势和适用场景,开发者可以根据具体的项目需求和代码风格选择合适的方式来处理异步操作,从而编写出更加高效、可读和易于维护的JavaScript代码。
7 1
|
22天前
|
前端开发 JavaScript 开发者
JavaScript 中的异步编程:深入了解 Promise 和 async/await
【10月更文挑战第8天】JavaScript 中的异步编程:深入了解 Promise 和 async/await
|
25天前
|
前端开发 JavaScript 小程序
JavaScript的ES6中Promise的使用以及个人理解
JavaScript的ES6中Promise的使用以及个人理解
15 1
|
2月前
|
前端开发 JavaScript
JavaScript中的Promise:简化异步编程
JavaScript中的Promise:简化异步编程
|
2月前
|
Web App开发 前端开发 JavaScript
js之 Promise | 12-8
js之 Promise | 12-8
|
19天前
|
前端开发 JavaScript UED
深入了解JavaScript异步编程:回调、Promise与async/await
【10月更文挑战第11天】深入了解JavaScript异步编程:回调、Promise与async/await
11 0
|
22天前
|
前端开发 JavaScript 开发者
深入理解JavaScript中的Promise:用法与最佳实践
【10月更文挑战第8天】深入理解JavaScript中的Promise:用法与最佳实践
43 0
|
2月前
|
前端开发 JavaScript
ES6新标准下JS异步编程Promise解读
ES6新标准下JS异步编程Promise解读
35 3
|
2月前
|
前端开发 JavaScript
JavaScript Promise-2
JavaScript Promise-2
26 3
|
2月前
|
Web App开发 前端开发 JavaScript
JavaScript Promise-1
JavaScript Promise
23 3

热门文章

最新文章