Node.js · Senior · Запитання 69 з 75
Чому AsyncLocalStorage може втрачати контекст усередині деяких бібліотек і що це виправляє?
- 1
AsyncLocalStorageпрацює лише в CommonJS - ✓Правильна відповідь: Бібліотеки, що самі ставлять колбеки в чергу (власні пули, пакетування), викликають їх з іншого асинхронного контексту;
AsyncResource.bindабоAsyncLocalStorage.bindвідновлюють його - 3Збирач сміття очищує контекст щосекунди
Пояснення
Контекст іде за асинхронним ланцюжком, де колбек створено. Пул, що пізніше виконує збережений колбек, продовжує ланцюжок того, хто його запустив, а не початкового запиту.