UNPKG

taro-hooks

Version:
35 lines 1.09 kB
import { getNetworkType, onNetworkStatusChange, offNetworkStatusChange } from '@tarojs/taro'; import { useEffect, useState } from '@taro-hooks/core'; import { logError } from '@taro-hooks/shared'; import usePromise from '../usePromise'; function useNetworkType(autoListen) { if (autoListen === void 0) { autoListen = true; } var _useState = useState('unknown'), networkType = _useState[0], setNetworkType = _useState[1]; var asyncGetNetworkType = usePromise(getNetworkType); useEffect(function () { asyncGetNetworkType().then(function (response) { setNetworkType(response.networkType); }, function (_ref) { var errMsg = _ref.errMsg; logError(errMsg); setNetworkType('unknown'); }); }, []); var listener = function listener(response) { setNetworkType(response.networkType); }; useEffect(function () { if (autoListen) { onNetworkStatusChange(listener); return function () { offNetworkStatusChange(listener); }; } }, [autoListen]); return networkType; } export default useNetworkType;