Files
medusa-store/www/apps/docs/content/troubleshooting/promise-all-rollback.md
Shahed Nasser 3781ac4631 docs: added troubleshooting guide for promise.all (#5586)
* docs: added troubleshooting guide for promise.all

* fix eslint errors
2023-11-10 10:59:52 +01:00

19 lines
601 B
Markdown

# Database Transaction Not Rolling Back When Promise.all is Used
Due to how `Promise.all` works, when you run multiple database transactions within it, these transactions may not be rolled back when an error occurs.
To mitigate this issue, use the `promiseAll` function which can be imported from `@medusajs/utils`. For example:
```ts
import { promiseAll } from "@medusajs/utils"
import { TransactionBaseService } from "@medusajs/medusa"
class MyService extends TransactionBaseService {
async performTransactions() {
return await promiseAll([
// your transactions....
])
}
}
```