UNPKG

taro-hooks

Version:
41 lines (40 loc) 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var taro_1 = require("@tarojs/taro"); var core_1 = require("@taro-hooks/core"); var shared_1 = require("@taro-hooks/shared"); var usePromise_1 = tslib_1.__importDefault(require("../usePromise")); function useNetworkType(autoListen) { if (autoListen === void 0) { autoListen = true; } var _ref = (0, core_1.useState)('unknown'), networkType = _ref[0], setNetworkType = _ref[1]; var asyncGetNetworkType = (0, usePromise_1["default"])(taro_1.getNetworkType); (0, core_1.useEffect)(function () { asyncGetNetworkType().then(function (response) { setNetworkType(response.networkType); }, function (_ref2) { var errMsg = _ref2.errMsg; (0, shared_1.logError)(errMsg); setNetworkType('unknown'); }); }, []); var listener = function listener(response) { setNetworkType(response.networkType); }; (0, core_1.useEffect)(function () { if (autoListen) { (0, taro_1.onNetworkStatusChange)(listener); return function () { (0, taro_1.offNetworkStatusChange)(listener); }; } }, [autoListen]); return networkType; } exports["default"] = useNetworkType;