为什么curl_multi_exec在两个循环中

时间:2015-02-26 06:16:39

标签: php curl-multi

我看到了一段示例代码,我想知道为什么要使用两个do-while循环?这两个循环有什么区别?等在线回复,谢谢~~

do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

1 个答案:

答案 0 :(得分:2)

如上所述,第一个循环用于初始化HTTP客户端。通常它只执行一次。然后在第二个循环中发送HTTP请求并收到响应。

如果您希望脚本在等待处理HTTP请求时执行某些操作(这可能会将您想要执行的某些操作放在单独的页面中并将其称为卷曲资源),这不是很方便 - 但它有点乱。)

有关详细信息和备用结构,请参阅this page