Node.js Stream readable.resume() 方法
Readable Stream 中的 readable.resume () 方法用于暂停可以再次恢复的数据,并且数据再次开始流动。
句法:
readable.resume()
参数:此方法不接受任何参数。
返回值:如果使用此方法,则暂停的数据再次开始流动。
下面的示例说明了 Node.js 中readable.resume() 方法的使用:
示例 1:
// Node.js program to demonstrate the
// readable.resume() method
// Including fs module
const fs = require('fs');
// Constructing readable stream
const readable = fs.createReadStream("input.text");
readable.on('data', (chunk) => {
console.log(`${chunk}`);
});
// Calling pause method
readable.pause();
// Calling resume method
readable.resume();
console.log("Data starts flowing again!!");
输出:
Data starts flowing again!!
Hello!!!
示例 2:
// Node.js program to demonstrate the
// readable.resume() method
// Include fs module
const fs = require('fs');
// Create readable stream
const readable = fs.createReadStream("input.text");
// Handling data event
readable.on('data', (chunk) => {
console.log(`${chunk}`);
// Calling pause method
readable.pause();
// After this any data will be displayed
// after 3 sec.
console.log('No additional data will be '
+ 'displayed for 3 seconds.');
// Using setTimeout function
setTimeout(() => {
console.log('Now data starts flowing again.');
// Calling resume method
readable.resume();
}, 3000);
});
// Displays that program
// is ended
console.log("Program ends!!");
输出:
Program ends!!
Hello!!!
No additional data will be displayed for 3 seconds.
Now data starts flowing again.
但是,您可以在运行时看到,执行 pause() 方法后,3 秒内不会显示更多数据。
参考: https://nodejs.org/api/stream.html#stream_readable_resume