diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/torrent.js | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/torrent.js b/lib/torrent.js index 0213f3b..4ceca06 100644 --- a/lib/torrent.js +++ b/lib/torrent.js @@ -1156,7 +1156,11 @@ class Torrent extends EventEmitter { if (wire.requests.length >= minOutstandingRequests) return const maxOutstandingRequests = getBlockPipelineLength(wire, PIPELINE_MAX_DURATION) - trySelectWire(false) || trySelectWire(true) + if (typeof window !== 'undefined' && typeof window.requestIdleCallback === 'function') { + window.requestIdleCallback(function () { trySelectWire(false) || trySelectWire(true) }) + } else { + trySelectWire(false) || trySelectWire(true) + } function genPieceFilterFunc (start, end, tried, rank) { return i => i >= start && i <= end && !(i in tried) && wire.peerPieces.get(i) && (!rank || rank(i)) |