JS Infinite Loop с ожиданием создает утечку памятиJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 JS Infinite Loop с ожиданием создает утечку памяти

Сообщение Anonymous »

Этот кусок кода создает утечку памяти. Я не уверен, почему. Этот код ограничен более длинным методом, который опробовал список REDIS для сообщений (который возвращает либо сообщение, либо нечестно, если сообщения нет), а затем когда -нибудь ожидает, прежде чем снова опросить. но я вынул отвлекающие части. < /p>

Код: Выделить всё

async pollQ() {
while (true) {
await new Promise((resolve) =>
setTimeout(resolve, 100 + 100 * Math.random()),
);
}
}
В последовательных снимках кучи, с помощью этого тела метода есть объект, такой как {созданный, родитель} с большой позитивной дельтой (в тысячах), который растет со временем и цепочки, подобные объектам, как это:
Изображение

I've also tried using a setTimeout version that repeatedly calls pollQ at the end of the метод Это дает тот же результат, когда есть другие ожидаемые вызовы (вызовы REDIS).
Я попытался использовать функцию драйвера в надежде, что когда будет выполнена область PollQ , все будет GC-ED. Но у этого была такая же проблема. < /P>

Код: Выделить всё

const driver = (() => {
this.pollQ().finally(() => {
setTimeout(driver, 100 + 100 * Math.random())
})
}).bind(this)

driver()
только выполнение SetInterval (pollq, ) работает без непрерывной растущей кучи, но это не идеально, учитывая, что процесс может не завершить в интервале. На данный момент у меня нет идей, и, что более важно, я не понимаю утечки. Код не выглядит так, как будто создаст утечку, но куча продолжает расти. Любая помощь ценится.

Подробнее здесь: https://stackoverflow.com/questions/795 ... emory-leak
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Infinite Loop, пытаясь прочитать последнюю строку inputstream
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Android Studio "Найти использование" Infinite Loop
    Anonymous » » в форуме Android
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Android Studio "Найти использование" Infinite Loop
    Anonymous » » в форуме Android
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как запустить несколько параллельных экземпляров питона Infinite Loop Bot с разными аргументами одновременно?
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как запустить несколько параллельных экземпляров питона Infinite Loop Bot с разными аргументами одновременно?
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»