diff --git a/packages/ra-core/src/dataProvider/useDataProvider.ts b/packages/ra-core/src/dataProvider/useDataProvider.ts index e8f17b3ef9c..9a1efa8ea6f 100644 --- a/packages/ra-core/src/dataProvider/useDataProvider.ts +++ b/packages/ra-core/src/dataProvider/useDataProvider.ts @@ -217,7 +217,9 @@ const later = (delay = 100): Promise => // get a Promise that resolves once a condition is satisfied const waitFor = (condition: () => boolean): Promise => new Promise(resolve => - condition() ? resolve() : later().then(() => waitFor(condition)) + condition() + ? resolve() + : later().then(() => waitFor(condition).then(() => resolve())) ); export default useDataProvider;