zoukankan      html  css  js  c++  java
  • 使用async读取异步数据

    使用传统方式读取异步数据

    const fs = require('fs')
    
    fs.readFile('readme.txt', function (err, data) {
      console.log(data.toString());
    })
    
    // hello async
    

    使用promise对象读取异步数据

    const fs = require('fs')
    
    function readFile(path) {
      return new Promise((resolve, reject) => {
        fs.readFile(path, function (err, data) {
          if (err) {
            reject(err);
            return;
          }
          resolve(data);
        })
      })
    }
    
    readFile('readme.txt').then((data) => {
      console.log(data.toString()); // hello async
    }).catch(e => {
      console.log(e);
    })
    

    使用async/await读取异步数据

    const fs = require('fs')
    
    function readFile(path) {
      return new Promise((resolve, reject) => {
        fs.readFile(path, function (err, data) {
          if (err) {
            reject(err);
            return;
          }
          resolve(data);
        })
      })
    }
    
    async function foo1(){
      const data = await readFile('readme.txt');
      console.log('--------------------------------');
      console.log(data.toString());
    }
    
    foo1() // hello async
    

    使用node自带的promisify读取异步数据

    const fs = require('fs')
    const promisify = require('util').promisify;
    const rf = promisify(fs.readFile)
    
    // 直接读取
    rf('readme.txt').then((data) => {
      console.log(data.toString());  // hello async
    }).catch(e => {
      console.log(e);
    })
    
    // 使用async读取
    async function demo() {
      const data = await rf('readme.txt');
      console.log(data.toString());
    }
    
    demo();  // hello async
    
  • 相关阅读:
    Android系统源代码下载
    Windows Embedded Compact 7初体验
    windowsmobile 开发环境
    Windows X64汇编入门(1)
    汇编语言的Hello World
    如何构建Win32汇编的编程环境(ONEPROBLEM个人推荐)
    音频视频解决方案:GStreamer/ffmpeg/ffdshow/directshow/vfw
    汇编开发环境
    DirectX
    关于DirectShow SDK 和Windows SDK,及DirectX SDK
  • 原文地址:https://www.cnblogs.com/huyifei/p/9922419.html
Copyright © 2011-2022 走看看