@wener/ui
Version:
17 lines • 620 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useAsyncEffect = void 0;
const react_1 = require("react");
function useAsyncEffect(effect, deps) {
const ref = react_1.useRef();
react_1.useEffect(() => {
effect({ setCloser: (v) => (ref.current = v) })
.then((v) => (typeof v === 'function' ? (ref.current = v) : null))
.catch((e) => {
console.trace(`useAsyncEffect error`, deps, e);
});
return () => ref.current?.();
}, deps);
}
exports.useAsyncEffect = useAsyncEffect;
//# sourceMappingURL=useAsyncEffect.js.map