zoukankan      html  css  js  c++  java
  • 2021年5月16日

    时间:0.7个小时左右

    代码:190行左右

    博客:1

    知识点:promise常用api的实例方法、对象方法

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
    </head>
    <body>
      
      <script type="text/javascript">
        /*
          Promise常用API-实例方法
        */
        // console.dir(Promise);
        function foo() {
          return new Promise(function(resolve, reject){
            setTimeout(function(){
              // resolve(123);
              reject('error');
            }, 100);
          })
        }
        // foo()
        //   .then(function(data){
        //     console.log(data)
        //   })
        //   .catch(function(data){
        //     console.log(data)
        //   })
        //   .finally(function(){
        //     console.log('finished')
        //   });
    
        // --------------------------
        // 两种写法是等效的
        foo()
          .then(function(data){
            console.log(data)
          },function(data){
            console.log(data)
          })
          .finally(function(){
            console.log('finished')
          });
      </script>
    </body>
    </html>
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
    </head>
    <body>
      
      <script type="text/javascript">
        /*
          Promise常用API-对象方法
        */
        // console.dir(Promise)
        function queryData(url) {
          return new Promise(function(resolve, reject){
            var xhr = new XMLHttpRequest();
            xhr.onreadystatechange = function(){
              if(xhr.readyState != 4) return;
              if(xhr.readyState == 4 && xhr.status == 200) {
                // 处理正常的情况
                resolve(xhr.responseText);
              }else{
                // 处理异常情况
                reject('服务器错误');
              }
            };
            xhr.open('get', url);
            xhr.send(null);
          });
        }
    
        var p1 = queryData('http://localhost:3000/a1');
        var p2 = queryData('http://localhost:3000/a2');
        var p3 = queryData('http://localhost:3000/a3');
        // Promise.all([p1,p2,p3]).then(function(result){
        //   console.log(result)
        // })
        Promise.race([p1,p2,p3]).then(function(result){
          console.log(result)
        })
      </script>
    </body>
    </html>
  • 相关阅读:
    Linux与Windows命令的比较
    操作系统的启动过程
    Spyder快捷键
    pytoch的最佳打开方式
    操作系统逻辑结构
    插值法
    bzoj3509[CodeChef]COUNTARI
    bzoj2969 矩形粉刷
    hdu5575 Discover Water Tank
    bzoj3473字符串&bzoj3277串
  • 原文地址:https://www.cnblogs.com/j-y-s/p/14903335.html
Copyright © 2011-2022 走看看