vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
22 lines • 745 B
JavaScript
import { ensureInMiniProgram } from "./ensureInMiniProgram.js";
import { isPromiseLike } from "../utils/index.js";
import { miniProgramBus } from "./miniProgramBus.js";
import { useEffect } from 'react';
import { useLatest } from "../react/index.js";
export function usePullDownRefresh(callback) {
var latestCallback = useLatest(callback);
useEffect(function () {
return miniProgramBus.on('currentPagePullDownRefresh', function () {
ensureInMiniProgram(function (mp) {
var res = latestCallback.current();
if (isPromiseLike(res)) {
res.then(function () {
return mp.stopPullDownRefresh();
});
} else {
mp.stopPullDownRefresh();
}
});
});
}, []);
}