zoukankan      html  css  js  c++  java
  • promise学习

    const fs = require('fs');
    const path = require('path');
    
    fs.readFile(path.join(__dirname, 'data/a.txt'), (err, data)=>{
        console.log(data.toString());
        fs.readFile(path.join(__dirname, 'data/b.txt'), (err, data)=>{
            console.log(data.toString());
            fs.readFile(path.join(__dirname, 'data/c.txt'), (err, data)=>{
                console.log(data.toString());
            });
        });
    });
    const fs = require('fs');
    const path = require('path');
    
    // 1. 创建一个promise (一经创建, 立马执行)链式编程
    new Promise((resolve, reject)=>{
        fs.readFile(path.join(__dirname, 'data/a.txt'), (err, data)=>{
            if(err){
                reject(err);
            }
            resolve(data);
        });
    }).then((data)=>{
        console.log(data.toString());
        return new Promise((resolve, reject)=>{
            fs.readFile(path.join(__dirname, 'data/b.txt'), (err, data)=>{
                if(err){
                    reject(err);
                }
                resolve(data);
            });
        });
    }).then((data)=>{
        console.log(data.toString());
        return new Promise((resolve, reject)=>{
            fs.readFile(path.join(__dirname, 'data/c.txt'), (err, data)=>{
                if(err){
                    reject(err);
                }
                resolve(data);
            });
        });
    }).then((data)=>{
        console.log(data.toString());
    }).catch((err)=>{
        console.log(err);
    });
     1 const fs = require('fs');
     2 const path = require('path');
     3 
     4 let readFile = (...args) => {
     5     return new Promise((resolve, reject) => {
     6         fs.readFile(...args, (err, data) => {
     7             if (err) {
     8                 reject(err);
     9             }
    10             resolve(data);
    11         });
    12     });
    13 };
    14 
    15 readFile(path.join(__dirname, 'data/c.txt'), 'utf-8')
    16     .then((data) => {
    17         console.log(data.toString());
    18         return readFile(path.join(__dirname, 'data/a.txt'), 'utf-8');
    19     }).then((data) => {
    20         console.log(data.toString());
    21         return readFile(path.join(__dirname, 'data/b.txt'), 'utf-8');
    22     }).then((data) => {
    23         console.log(data.toString());
    24     }).catch((err)=>{
    25         console.log(err);
    26     });
     1 const fs = require('fs');
     2 const path = require('path');
     3 
     4 let readFile = (...args) => {
     5     return new Promise((resolve, reject) => {
     6         fs.readFile(...args, (err, data) => {
     7             if (err) {
     8                 reject(err);
     9             }
    10             resolve(data);
    11         });
    12     });
    13 };
    14 
    15 Promise.all([
    16     readFile(path.join(__dirname, 'data/aa.txt'), 'utf-8'),
    17     readFile(path.join(__dirname, 'data/b.txt'), 'utf-8'),
    18     readFile(path.join(__dirname, 'data/c.txt'), 'utf-8')
    19 ]).then(([data1, data2, data3])=>{
    20     console.log({data1, data2, data3});
    21 }).catch((err)=>{
    22     console.log(err);
    23 });
  • 相关阅读:
    云架构系统如何做性能分析?| 实战干货
    1024 程序员日,聊聊升职加薪与职业发展!
    测试面试题集锦(三)| 计算机网络和数据库篇(附答案)
    在线沙龙 | 前端测试技术创新与实践
    测试开发系列课程学员打卡听课细则
    这 5 款实用性能测试工具,你会如何选择?
    618 年中大促!Python 自动化测试训练营立减 1000 元!送接口测试实战课!
    美人
    栀子花开
    朋友别哭
  • 原文地址:https://www.cnblogs.com/zhangzhengyang/p/11147075.html
Copyright © 2011-2022 走看看