首页 > 解决方案 > Laravel 顺序处理用户的并发请求

问题描述

Laravel 按顺序处理用户的并发请求。如何同时处理请求?似乎会话(保存在 Redis 存储中)阻止了并发请求,但也许这不是原因。哪里出了问题?

Vue 发送请求...

async manageData() {
   // array of chart's properties
   const charts = await axios.post('/report/chart_data', {id: this.id);
   // concurrent requests with variable 'charts'
   const result = await Promise.all(
      charts.map((chart, key) => axios.post('/report/data_range', {id: key}))
   );
}

.env 设置

SESSION_DRIVER=redis
SESSION_LIFETIME=120

网页.php

Route::post('report/data_range','AnalyticsApp\ReportController@ChartDataGet');

报告控制器.php

public function ChartDataGet(Request $request)
    {
        return Chart::find($request->id)
    }

请求的时间

要求

标签: laravelsessionredis

解决方案


您的第一次调用 axios 使用await,这指定您等待它完成。您可以删除此await但似乎对data_range是必要的。如果不需要,您可以删除。


推荐阅读