docs: added troubleshooting guide for promise.all (#5586)
* docs: added troubleshooting guide for promise.all * fix eslint errors
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# 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....
|
||||
])
|
||||
}
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user