24 lines
871 B
JavaScript
24 lines
871 B
JavaScript
define(["require", "exports", "@fluentui/utilities", "react"], function (require, exports, utilities_1, React) {
|
|
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.useAsync = void 0;
|
|
/**
|
|
* Hook to provide an Async instance that is automatically cleaned up on dismount.
|
|
*/
|
|
function useAsync() {
|
|
var asyncRef = React.useRef();
|
|
if (!asyncRef.current) {
|
|
asyncRef.current = new utilities_1.Async();
|
|
}
|
|
React.useEffect(function () {
|
|
return function () {
|
|
var _a;
|
|
(_a = asyncRef.current) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
asyncRef.current = undefined;
|
|
};
|
|
}, []);
|
|
return asyncRef.current;
|
|
}
|
|
exports.useAsync = useAsync;
|
|
});
|
|
//# sourceMappingURL=useAsync.js.map
|