Поток для чтения setInterval установлен в 1ms - PullRequest
0 голосов
/ 09 июля 2019

Я написал этот код, который позволяет мне создавать читаемый поток в Node.js, который возвращает данные из deque как можно чаще:

const limiter = new RateLimiter(count, interval)
const deque = new Deque()

const getStream = () => {
  const inStream = new Readable({
    objectMode: true,
    read() {}
  })

  setInterval(() => {
    if (deque.length >= count) {
      const result = limiter.tryRemoveTokens(count)
      if (result) {
        for (let i = 0; i < count; i++) {
          inStream.push(deque.shift())
        }
      }
    }
  }, 1)

  return inStream
}

Является ли хорошей практикой делать setInterval каждую 1 миллисекунду

...