vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
26 lines (25 loc) • 869 B
JavaScript
;
exports.__esModule = true;
exports.usePullDownRefresh = usePullDownRefresh;
var _ensureInMiniProgram = require("./ensureInMiniProgram");
var _utils = require("../utils");
var _miniProgramBus = require("./miniProgramBus");
var _react = require("react");
var _react2 = require("../react");
function usePullDownRefresh(callback) {
var latestCallback = (0, _react2.useLatest)(callback);
(0, _react.useEffect)(function () {
return _miniProgramBus.miniProgramBus.on('currentPagePullDownRefresh', function () {
(0, _ensureInMiniProgram.ensureInMiniProgram)(function (mp) {
var res = latestCallback.current();
if ((0, _utils.isPromiseLike)(res)) {
res.then(function () {
return mp.stopPullDownRefresh();
});
} else {
mp.stopPullDownRefresh();
}
});
});
}, []);
}