簡體   English   中英

用管道流到變量! 要么 …?

[英]Piping stream to a variable!? or …?

我有哪些選擇可以將流通過管道傳遞給變量? 根據此文檔 ,可寫流的示例包括:

  • 客戶端上的http請求
  • http響應,在服務器上fs寫
  • zlib流
  • 加密流
  • TCP插座
  • 子進程標准輸入
  • process.stdout,process.stderr

難道這意味着我無法通過流將其傳遞給變量進行處理嗎? 實際上,我不想將流保存在磁盤上,因此,通過管道傳輸所有流並使用該數據的最佳方法是什么?

謝謝,如果您需要進一步說明,請告訴我!

您可能可以將流通過管道傳遞給變量,但是pipe通常用於將流通過管道傳遞給其他可以利用該流的方法,因為pipe會將所有數據從可讀流中拉出,然后自動將其寫入提供的目的地管理流,以使目標不會被快速可讀的流淹沒。

例如,將流傳輸到文件

someReadableStream.pipe(fs.createWriteStream("result.json"));

如果您只想將數據包含在變量中,那么可以使用一些事件,這些事件可能更易於使用,例如on('data')

var readable = getReadableStreamSomehow(),
    result   = '';

readable.on('data', function(chunk) {
      result += chunk;
});

readable.on('end', function () {
    // do something with "result"
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM