быть уверен, что gc не съест мой объект со слабой ссылкой на него в асинхронной функции между авэитами?
Например:
async function test() {
const o = new WeakRef({});
await something();
// Может ли вернуть undefined?
o.deref();
}
И вообще может это произойти между двумя строчками кода идущими рядом? // reference weakRef.deref(); // undefined weakRef.deref();
Нет, ты всё ещё не дожидаешься коннекта.
а как тогда ? создать async функции и в ней спомощю await подключиться к базе ?
Например при реализации identity map, который не будет заружать память
То что нода однопоточная, поэтому, думаю не сможет удалить ссылку при выполнении кода подряд. Только на следующем тике. Но во время await получается что сможет удалить.
можно изучить исходники https://www.npmjs.com/package/weak-identity-map
Ну да. Ну можешь в колбэке сервер стартовать, но это не удобно.
вот так ? завернул в функцию async и вызвал
вот, убрал then и catch! топерь то норм ?
Листен всё же лучше выполнять после навешивания роутов. Покажи что у тебя после 37-ой строки.
Обсуждают сегодня