kopia lustrzana https://gitlab.com/soapbox-pub/soapbox
Merge branch 'polyfill-withresolvers' into 'main'
Polyfill Promise.withResolvers Closes #1802 See merge request soapbox-pub/soapbox!3307merge-requests/3297/head^2
commit
b7907e94f8
|
@ -384,7 +384,10 @@ const uploadCompose = (composeId: string, files: FileList, intl: IntlShape) =>
|
|||
f,
|
||||
intl,
|
||||
(data) => dispatch(uploadComposeSuccess(composeId, data, f)),
|
||||
(error) => dispatch(uploadComposeFail(composeId, error)),
|
||||
(error) => {
|
||||
console.error(error);
|
||||
dispatch(uploadComposeFail(composeId, error));
|
||||
},
|
||||
(e: ProgressEvent) => {
|
||||
progress[i] = e.loaded;
|
||||
dispatch(uploadComposeProgress(composeId, progress.reduce((a, v) => a + v, 0), e.total));
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import 'soapbox/polyfill/Promise.withResolvers.ts';
|
||||
|
||||
import { enableMapSet } from 'immer';
|
||||
import { createRoot } from 'react-dom/client';
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
if (!Promise.withResolvers) {
|
||||
Promise.withResolvers = function withResolvers<T>(): PromiseWithResolvers<T> {
|
||||
|
||||
let resolve: (value: T | PromiseLike<T>) => void;
|
||||
let reject: (reason?: any) => void;
|
||||
|
||||
const promise = new this<T>((_resolve, _reject) => {
|
||||
resolve = _resolve;
|
||||
reject = _reject;
|
||||
});
|
||||
|
||||
return { resolve: resolve!, reject: reject!, promise };
|
||||
};
|
||||
}
|
Ładowanie…
Reference in New Issue