Promise 之基础详细介绍

  • JavaScript 中的 promise 代表的是已经正在发生的进程(程序或者功能)
  • Promise 是 JS中进行异步编程的新的解决方案
  • 从语法上面说  Promise 是一个构造函数
  • 从功能上面说  Promise 对象用来封装一个异步操作并可以获得其结果
  Promise有三种状态  pedding(等待执行完成 或者 待定 ) resolved(结果成功) rejected(结果失败)  执行结果只有这两种 并且从padding状态改变为 resolved 或者 rejected .只能改变一次  无论成功与失败,Promise都会返回一个结果,成功的结果一般称为value(值),失败的结果一般称为reason(原因)
  
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      new Promise((resolve, reject) => {
        //这里是new 一个Promise对象,Promise对象中传了一个函数(这个函数用来执行异步操作,该函数又传入了resolve(成功)和reject(失败)两个参数(函数)),
      在这个函数中只有执行了 resolve 或者 reject 才能进入then()函数中,如果不执行就不会进入then函数中
//执行异步操作 setTimeout(() => { // 使用setTimeout模仿异步操作 let time = Date.now(); //偶数成功 否则失败 if (time % 2 == 0) { //如果成功调用 resolve(value) 函数 value值结果 resolve('成功的数据:' + time); //状态值发生改变 从 pedding 改变成 resolved } else { //失败调用reject(reason)函数 reason 原因 reject('失败的数据:' + time); //状态值发生改变 从 pedding 改变成 rejected } }, 50); }).then( (value) => { // 接收得到成功的value数据 onResolved console.log('接收得到的成功回调', value); }, (reason) => { //接收得到失败的reason数据 onRejected console.log('接收得到的失败回调', reason); } ); </script> </body> </html>
 
原文地址:https://www.cnblogs.com/banyuege/p/13918002.html