Outlook_Addin_LLM/node_modules/@fluentui/react-hooks/lib-commonjs/useAsync.js

24 lines
750 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.useAsync = void 0;
var utilities_1 = require("@fluentui/utilities");
var React = require("react");
/**
* 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