ckgl/node_modules/vant/es/utils/interceptor.mjs
2024-12-21 13:52:42 +08:00

30 lines
558 B
JavaScript

import { noop, isPromise } from "./basic.mjs";
function callInterceptor(interceptor, {
args = [],
done,
canceled,
error
}) {
if (interceptor) {
const returnVal = interceptor.apply(null, args);
if (isPromise(returnVal)) {
returnVal.then((value) => {
if (value) {
done();
} else if (canceled) {
canceled();
}
}).catch(error || noop);
} else if (returnVal) {
done();
} else if (canceled) {
canceled();
}
} else {
done();
}
}
export {
callInterceptor
};