taro-hooks
Version:
为 Taro 而设计的 Hooks Library
29 lines (28 loc) • 982 B
JavaScript
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 useManualPullDownRefresh() {
var timer = (0, core_1.useRef)();
var startAsync = (0, usePromise_1["default"])(taro_1.startPullDownRefresh);
var stop = (0, usePromise_1["default"])(taro_1.stopPullDownRefresh);
var start = function start(duration) {
timer.current && clearTimeout(timer.current);
return startAsync().then(function (res) {
if ((0, shared_1.isNumber)(duration) && duration) {
timer.current = setTimeout(function () {
stop();
timer.current && clearTimeout(timer.current);
}, duration);
}
return res;
});
};
return [start, stop];
}
exports["default"] = useManualPullDownRefresh;
;