Amp 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Amp 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: MIT
开发语言: PHP 查看源码 »
操作系统: 跨平台
收录时间: 2009-11-25
提 交 者: 红薯

Amp 是一个 PHP 非阻塞并发框架,它提供了一个事件循环,promise 和 stream 作为异步编程的基础。与生成器结合使用的 promise 用于构建协程,它允许像同步代码一样编写异步代码,而不需要任何回调。

demo:

<?php

use Amp\Artax\Response;
use Amp\Loop;

require __DIR__ . '/../vendor/autoload.php';

Loop::run(function () {
    $uris = [
        "https://google.com/",
        "https://github.com/",
        "https://stackoverflow.com/",
    ];

    $client = new Amp\Artax\DefaultClient;
    $client->setOption(Amp\Artax\Client::OP_DISCARD_BODY, true);

    try {
        foreach ($uris as $uri) {
            $promises[$uri] = $client->request($uri);
        }

        $responses = yield $promises;

        foreach ($responses as $uri => $response) {
            print $uri . " - " . $response->getStatus() . $response->getReason() . PHP_EOL;
        }
    } catch (Amp\Artax\HttpException $error) {
        // If something goes wrong Amp will throw the exception where the promise was yielded.
        // The Client::request() method itself will never throw directly, but returns a promise.
        print $error->getMessage() . PHP_EOL;
    }
});
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

Amp 的相关资讯

还没有任何资讯

Amp 的相关博客

ES 6 proimse &&iterator &&Generator函数 &&async

1.proimse 异步调用 function getData(){ let promise =new Promise((resolve,reject)); let xmlHttp =new XMLHttp...

matlab的&和&&操作

A&B (1)首先判断A的逻辑值,然后判断B的值,然后进行逻辑与的计算。 (2)A和B可以为矩阵(e.g. A=[1 0],B=[0 0])。 A&&B...

Url 参数: &amp;

Url 参数: & href= "../LineChannel/GetLineListBySearch?countryid=" + countryid + "&seriesid=" + seriesid + "&a...

出色注释的基本要求&&优先级&&预处理&&宏定义

注释采用英文,尽量避免在注释中使用缩写,特别是不常用的缩写。 注释是对代码的提示,而不是文档。 对于全局数据(全局变量、...

Linux 下的 Redis 安装 && 启动 && 关闭 && 卸载

转自https://blog.csdn.net/zgf19930504/article/details/51850594 Redis 在Linux 和 在Windows 下的安装是有很大的不同的,...

./configure && make && make install详解

在Linux中利用源码包安装软件最重要的就是要仔细阅读安装包当中的README INSTALL两个说明文件,这两个文件会清楚的告诉你如何...

Mybatis添加&&删除&&更新

mapper <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http:/...

枚举类&&注解&&反射

枚举类 枚举类是优化定义固定对象的一种特殊的类。 换句话说,在需要类的实例为一个或者多个并且相对固定的时候,使用枚举类。...

CTSC2018 && APIO2018 && SDOI2018R2游记

Day -? 占个坑先。希望CTSC,APIO别打铁,R2别滚粗QAQ CTSC Day 0 早起坐车睡觉颓废报道颓废 反正游记就是咕懒得写了 Day 1 ...

C#基础&&,||与&,|区别

&:按位与,对两个条件都进行判断 &&:逻辑与,只要一个条件满足,另外一个条件就不会执行 同理: |:按位或,对两个条件都进行...

Amp 的相关问答

还没有任何问答,马上提问

评论 (0)

加载中
更多评论
0 评论
1 收藏
分享
返回顶部
顶部