amis-rpc-design/node_modules/@redux-saga/delay-p/dist/redux-saga-delay-p.esm.js
2023-10-07 19:42:30 +08:00

27 lines
658 B
JavaScript

import { CANCEL } from '@redux-saga/symbols';
var MAX_SIGNED_INT = 2147483647;
function delayP(ms, val) {
if (val === void 0) {
val = true;
}
// https://developer.mozilla.org/en-US/docs/Web/API/setTimeout#maximum_delay_value
if (process.env.NODE_ENV !== 'production' && ms > MAX_SIGNED_INT) {
throw new Error('delay only supports a maximum value of ' + MAX_SIGNED_INT + 'ms');
}
var timeoutId;
var promise = new Promise(function (resolve) {
timeoutId = setTimeout(resolve, Math.min(MAX_SIGNED_INT, ms), val);
});
promise[CANCEL] = function () {
clearTimeout(timeoutId);
};
return promise;
}
export default delayP;