我正在制作搜索小部件.当我在搜索时,我正在从2 api中获取结果
一个来自yelp,另一个来自另一个来源.但这个过程需要更长的时间
$dataProvider = SearchUtil::locallookup($for, $near); //local api
$content=SearchUtil::yelplookup($for,$near); //yelp api
$array=array_merge($dataProvider,$content);
有什么方法可以把这两个api叫到一起吗?我不希望在第一个api给出结果后调用yelp api.我想把他们俩一起打电话.
有没有办法做到这一点?
最佳答案 这是可能的,但您必须重写locallookup和yelplookup并将它们绑定到一个cURL multi_exec上下文中.默认情况下,cURL同步运行.在您的情况下,您希望它在多组数据上异步,最好的方法是将两个通道都运行到multi_exec上下文中.
关于此页的更多信息:http://php.net/manual/fr/function.curl-multi-exec.php.
一旦你curl_multi_exec(),你将能够使用第二个参数(将被引用 – 更改为true或false)跟踪调用集的状态,并从那里,您还将能够获取内容每个通道使用curl_multi_getcontent().