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,
|
f,
|
||||||
intl,
|
intl,
|
||||||
(data) => dispatch(uploadComposeSuccess(composeId, data, f)),
|
(data) => dispatch(uploadComposeSuccess(composeId, data, f)),
|
||||||
(error) => dispatch(uploadComposeFail(composeId, error)),
|
(error) => {
|
||||||
|
console.error(error);
|
||||||
|
dispatch(uploadComposeFail(composeId, error));
|
||||||
|
},
|
||||||
(e: ProgressEvent) => {
|
(e: ProgressEvent) => {
|
||||||
progress[i] = e.loaded;
|
progress[i] = e.loaded;
|
||||||
dispatch(uploadComposeProgress(composeId, progress.reduce((a, v) => a + v, 0), e.total));
|
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 { enableMapSet } from 'immer';
|
||||||
import { createRoot } from 'react-dom/client';
|
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