>  기사  >  웹 프론트엔드  >  node.js는 읽기 및 쓰기 동기화 기능을 구현합니다.

node.js는 읽기 및 쓰기 동기화 기능을 구현합니다.

php中世界最好的语言
php中世界最好的语言원래의
2018-04-18 11:02:241266검색

rreee

위의 작성 방법은 다소 번거롭습니다. 모두가 읽은 후에는 잊어버리세요

node.js는 내장된 메소드 Pipe

//10个数 10个字节,每次读4b,写1b
let fs=require("fs");
function pipe(source,target) {
  //先创建可读流,再创建可写流
  //先读一次,rs.on(data)
  //将读到的类容写入目标中 ,返回布尔值,如果是ture,继续写,默认情况应该是false,暂停读取
  //ws.on('drain'),抽干后,回复读取
  //监听读取文件完毕后,关闭读取rs.on('end')
  let rs=fs.createReadStream(source,{highWaterMark:4});
  let ws=fs.createWriteStream(target,{highWaterMark:1});
  rs.on('data',function (chunk) { //chunk是buffer类型
    if(ws.write(chunk)===false){
      //写不下,停止读取
      rs.pause()
    }
  });
  ws.on('drain',function () {
    //每次写的内存干了就恢复读取
    console.log("111");
    rs.resume() //恢复读取
  });
  rs.on('end',function (chunk) {
    ws.end();
  })
}
pipe('./1.txt','./3.txt')

를 제공합니다. 읽기 스트림을 쓰기 스트림으로 직접 운영하시겠습니까, 아니면 비동기적으로 수행하시겠습니까? 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 참고하세요.

추천 자료:

JSONBuddy의 자세한 설치 단계


Vuejs가 페이지 지역화를 작동하는 방법


위 내용은 node.js는 읽기 및 쓰기 동기화 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.