@remotion/player
Version:
React component for embedding a Remotion preview into your app
27 lines (26 loc) • 713 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.cancellablePromise = void 0;
const cancellablePromise = (promise) => {
let isCanceled = false;
const wrappedPromise = new Promise((resolve, reject) => {
promise
.then((value) => {
if (isCanceled) {
reject({ isCanceled, value });
return;
}
resolve(value);
})
.catch((error) => {
reject({ isCanceled, error });
});
});
return {
promise: wrappedPromise,
cancel: () => {
isCanceled = true;
},
};
};
exports.cancellablePromise = cancellablePromise;