• 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>
     
  • 相关阅读:
    工厂模式之简单工厂模式
    JavaMail(二):利用JavaMail发送复杂邮件
    JavaMail(一):利用JavaMail发送简单邮件
    浅谈Java中静态代码块和非静态代码块
    MySQL中常用转换函数介绍
    jquery easyui datagrid 分页 详解
    tomcat出现的PermGen Space问题(bat,或者eclipse启动。)
    把Blob 转化为字符串查询。
    日期相关---SimpleDateFormat的setLenient(true/false)-----自动计算日期
    处理同一个字段,多种日期格式
  • 原文地址:https://www.cnblogs.com/banyuege/p/13918002.html
Copyright © 2020-2023  润新知