react-native-onyx
Version:
State management for React Native
21 lines (20 loc) • 651 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = createDeferredTask;
/**
* Create a deferred task that can be resolved when we call `resolve()`
* The returned promise will complete when we call `resolve`
* Useful when we want to wait for a tasks that is resolved from an external action
*/
function createDeferredTask() {
const { promise, resolve: originalResolve } = Promise.withResolvers();
const deferred = {
promise,
resolve: () => {
deferred.isResolved = true;
originalResolve();
},
isResolved: false,
};
return deferred;
}