Чи була у вас колись потреба чи ідея створити Promise, але зарезолвити його тільки тоді, коли вам буде зручно. Насправді, реалізувати це можна доволі нескладно:
let resolve, reject;
const promise = new Promise((res, rej) => {
resolve = res;
reject = rej;
});
З останніми оновленнями таке можна отримати прямо зі статичного методу withResolvers:
const { promise, resolve, reject } = Promise.withResolvers();
Здається, це можна використати для того, щоб перетворити listener на async/await:
const { promise, resolve, reject } = Promise.withResolvers();
something.on('load', resolve)
return promise
Почитати про цей метод детальніше можна за посиланням внизу.
👉 Відкрити посилання
#tips