我如何在Laravel中发出非阻塞API请求

我在Laravel中创建了一个简单的API,用户可以在其中通过POST对图片进行修饰。

在控制器中,我保存图像,然后将其发送到外部API进行分类。

此API调用需要花费几秒钟的时间,我不希望同时阻止我的Laravel应用程序。

我可以以某种方式异步运行它吗?在PHP中是否有等同于Node的Promise?

编辑:我已经阅读了队列,但是在等待外部API回答时,工作进程也不会被阻止吗?


拉风的咖菲猫
浏览 197回答 2
2回答

慕姐4208626

您可以使用Laravel Queues将耗时的部分(例如api调用)延迟到后台作业。队列使您可以将耗时的任务(例如发送电子邮件)的处理推迟到以后。推迟这些耗时的任务,可以极大地加快对您的应用程序的Web请求。
打开App,查看更多内容
随时随地看视频慕课网APP