如果我有stream,如果可以判断它是否暂停,有没有办法?
例如,我们可以在下面的有点愚蠢的例子中使用isPaused()
:
var readable = getReadableStreamSomehow();
var pendingOtherOps = 0;
readable.on('data', function(chunk) {
// about to do something that takes longer relative to our stream, may need to pause
if (++pendingOtherOps >= MAX_PENDING) {
stream.pause();
}
doOtherOp(data, function(err) {
if (--pendingOtherOps === 0 && stream.isPaused()) {
// ok we've got our other ops under control, lets turn stream back on
stream.resume();
}
});
});
现在,当我暂停/取消暂停时,我正在使用一个单独的布尔值,这似乎是多余的,因为信息已经在流中了。
答案 0 :(得分:0)
不,但是:
stream.pause(); stream._paused = true
并设置此标志stream.resume()
运行,因此在您的特定情况下不需要检查