zoukankan      html  css  js  c++  java
  • Js(小笔记)

    1.  如果某个操作A需要某些异步获取的数据B,这个操作A是主动触发的,所以在这之前有或许很长或许很短的的时间,所以这个操作A不宜直接作为异步获取数据的回调函数。(现在用promise.all)

      //获取信息B,
      if (回调存在) {
          //进行A操作
      }
      
      //主动触发的操作A内容
      if ("有信息B") {
            // 进行A操作
      } else {
           //加入callback,claaback的内容就是进行A操作
      }
    2. arguments.callee 是一个指向正在执行的函数的指针,因此可以用它来实现对函数

      的递归调用(ES6 的模块自动采用严格模式,严格模式下arguments.callee)

    3.  如果要判断是否存在的值可能为0,可以用typeof(该值) != “undefined”

    4. then方法指定的回调函数,将在当前脚本所有同步任务执行完才会执行

    5. 调用resolvereject并不会终结 Promise 的参数函数的执行。如调用resolve(1)以后,后面的console.log(2)还是会执行,并且会首先打印出来。这是因为立即 resolved 的 Promise 是在本轮事件循环的末尾执行,总是晚于本轮循环的同步任务

    6. 另外,then方法指定的回调函数,如果运行中抛出错误,也会被catch方法捕获.

    7. Promise 对象的错误具有“冒泡”性质,会一直向后传递,直到被捕获为止。也就是说,错误总是会被下一个catch语句捕获。上面代码中,一共有三个 Promise 对象:一个由getJSON产生,两个由then产生。它们之中任何一个抛出的错误,都会被最后一个catch捕获

    8. Promise 内部的错误不会影响到 Promise 外部的代码,通俗的说法就是“Promise 会吃掉错误”。

    9.  Promise.reject()方法的参数,会原封不动地作为reject的理由,变成后续方法的参数。这一点与Promise.resolve方法不一致。

    10. 涉及到数值的时候,有时候会因为二进制转换的问题数值有变化,可以用0.55~0..58测试 

  • 相关阅读:
    e家modem共享上网方法
    千里奔丧
    解决dbvisualizer乱码问题Ubuntu手记之软件
    目录结构Ubuntu手记之系统配置
    javaFTP编程
    JAVA运行环境设置
    VPNCUbuntu手记之软件
    清洗节气门
    IPMSGUbuntu手记之软件
    AIX下的JAVA线程监视
  • 原文地址:https://www.cnblogs.com/niujie/p/8941788.html
Copyright © 2011-2022 走看看