PHP如何同步的编码方式实现异步

问题描述

我想使用同步编码的方式,实现异步发送邮件

问题出现的环境背景及自己尝试过哪些方法

https://segmentfault.com/a/11...

你期待的结果是什么?实际看到的错误信息又是什么?

a
this is task1 iteration 1
b
this is task1 iteration 2
b
this is task1 iteration 3
b
this is task1 iteration 4
b
this is task1 iteration 5
b
this is task1 iteration 6
b
this is task1 iteration 7
b
this is task1 iteration 8
b
this is task1 iteration 9
b
[1,2,3]
这个是我照搬后的结果,我以为可以直接输出[1,2,3],但是却还要把前面的逻辑都执行完才可以输出,难道这样也算异步

阅读 2.2k
2 个回答

实现这类异步需求,可以使用队列和crontab来完成。
就发邮件这个场景,点击发送邮件的按钮,然后生成一个发邮件的任务,将任务加入队列,队列中的任务的读取和执行,通过设置crontab的自动任务来完成。

如果是想实现node那种异步回调的写法,那么用swoole来实现。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏