php对instsagram API的cURL请求造成页面滞后


php cURL request to instsagram API creates page lag

我正在使用cURL访问我正在构建的网页上的instagrams API。尽管功能很好,但页面加载是牺牲了的。例如,考虑这个DOM结构:

  • 收割台
  • 文章
  • Instagram照片(通过cURL检索)
  • 页脚

加载页面时,在使用cURL完全加载instagram照片之前,不会加载页脚。下面是正在调用的cURL函数:

function fetchData($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 20);
    $result = curl_exec($ch);
    curl_close($ch); 
    return $result;
}
$result = fetchData("https://api.instagram.com/v1/media/search?lat={$lat}&lng={$lng}&distance={$distance}&access_token={$accessToken}");
$result = json_decode($result);

因此,在运行此函数之后,将显示DOM的其余部分。如果我将函数调用移到页脚下方,它将不起作用。

我能做些什么来加载整个网页并将cURL请求设置在加载网站的顶部吗(不会造成延迟或滞留)?

UPDATE:最好的解决方案是在页脚后加载它,然后用js将它附加到另一个区域吗

您可以将结果json缓存到本地保存的文件中。您可以创建一个每分钟调用一次的cronjob,并更新本地缓存文件。这会使页面加载速度更快。不利的一面是,即使你没有访客,而且instagram的数据延迟了一分钟,你的缓存也在更新。