zoukankan      html  css  js  c++  java
  • 初步了解 promise03 简单封装promise 方法

    promise 两个作用
    1:解决回调地狱(e恶魔金字塔)链式调用
    2:“同步”异步的执行结果
    简单封装 promise 实现读取文件
    有3个平级的文件 a.txt, b.txt, c,txt 其中 a里的内容是b.txt , b里的内容是c.txt , c 里放的是“hello”;
    使用 promise 层层 读取到 c里的内容
    let fs =require("fs");

    //封装promise 方法 function read(filePath,encoding){ return new Promise((resolve,reject)=>{ fs.readFile(filePath,encoding,(err,data)=>{ if (err) reject(err); resolve(data); }) }) } // 调用封装的promise read("a.txt","utf8").then(data=>{ return read(data,"utf8"); }).then((data)=>{ return read(data,"utf8"); }).then(data=>{ console.log(data); })

      运行结果显示的 是 "hello"

    结论:

    1.如果一个promise执行完后 返回的还是一个promise,会把这个promise 的执行结果,传递给下一次then中
     2.如果then中返回的不是promise 是一个普通值,会将这个普通值作为下次then的成功的结果

  • 相关阅读:
    洛谷P3796
    cf1291c-Mind Control
    莫比乌斯函数
    C. Mixing Water(三分)
    E. Modular Stability(思维构造)
    【美团杯2020】平行四边形
    原根定义
    E. Are You Fired?(思维)
    102606C. Coronavirus Battle time limit per test4 seconds(三维拓扑序)
    E
  • 原文地址:https://www.cnblogs.com/liujzcom/p/9502772.html
Copyright © 2011-2022 走看看