170 похожих чатов

Подскажите, а когда отрабатывает garbage collector? Например, могу ли я

быть уверен, что gc не съест мой объект со слабой ссылкой на него в асинхронной функции между авэитами?

Например:

async function test() {
const o = new WeakRef({});

await something();

// Может ли вернуть undefined?
o.deref();
}

11 ответов

27 просмотров
Alexander- Автор вопроса

И вообще может это произойти между двумя строчками кода идущими рядом? // reference weakRef.deref(); // undefined weakRef.deref();

Нет, ты всё ещё не дожидаешься коннекта.

Alhimik [frozen]
Нет, ты всё ещё не дожидаешься коннекта.

а как тогда ? создать async функции и в ней спомощю await подключиться к базе ?

Alexander- Автор вопроса

Например при реализации identity map, который не будет заружать память

Alexander
И вообще может это произойти между двумя строчками...

То что нода однопоточная, поэтому, думаю не сможет удалить ссылку при выполнении кода подряд. Только на следующем тике. Но во время await получается что сможет удалить.

Alexander
Например при реализации identity map, который не б...

можно изучить исходники https://www.npmjs.com/package/weak-identity-map

Ну да. Ну можешь в колбэке сервер стартовать, но это не удобно.

вот, убрал then и catch! топерь то норм ?

Влад
вот, убрал then и catch! топерь то норм ?

Листен всё же лучше выполнять после навешивания роутов. Покажи что у тебя после 37-ой строки.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта