来自 Vue.js 应用程序 (Axios) 的 2 个同时 API 调用随机失败但在 Postman 中工作

2 simultaneous API calls from Vue.js App (Axios) randomly failing but working in Postman

我目前正在使用 Vue.js 构建我的前端,而我的 API 是使用 Slim 构建的。 我所有只需要一个 API 的页面都可以正常执行。

我正在处理的当前页面需要 2 API 调用 localhost/api/eventslocalhost/api/events/68/results。我的 Vue 前端位于 localhost:8080.

在其他页面上自行执行 API 请求效果很好。在 Postman 中自行执行 API 请求工作正常。在 Postman Runner 中对两个 API 调用执行多次迭代工作正常。

它们都在我的 Vuex 存储中调用相同的操作 (getEvents / getResults)

但是通过 Axios 从我的前端执行两个 API 调用一个或两个随机失败并出现 Slim 应用程序错误。

500 Internal Server Error
Object { type: "Illuminate\Database\QueryException", code: 0, message: "Database hosts array is empty. (SQL: select * from `events` where `events`.`id` = 68 limit 1)", … }
...
message "Database hosts array is empty. (SQL: select * from `events` where `events`.`id` = 68 limit 1)"

您似乎正在使用 .env 文件作为数据库凭据。问题是这不是线程安全的,不应该在生产中使用。这是一个已知的问题。最好使用 env.php 文件来解决这个问题。