2012-04-07 2 views
1

Die Seitenladezeiten reichen von 4-8 Sekunden, und aus irgendeinem Grund wird die Seite nicht geladen, bis der API-Aufruf erfolgt ist. Obwohl sich die wichtigsten API-Aufrufe am Ende der Seite (und des Skripts) befinden, wird vorher nichts auf der Seite geladen.FQL-Abfragen/API-Aufrufe machen meine Seite unmöglich langsam (PHP SDK)

Was ist der beste Weg, um darüber zu gehen? Der problematischste API-Aufruf ist

$result = $facebook->api('/fql?q=select+uid,+name,+is_app_user+from+user+where+uid+in+(select+uid2+from+friend+where+uid1=me())+and+is_app_user=1'); 

Das findet die Liste der Freunde des Benutzers mit meiner App. Außerdem mache ich mehrere API-Anrufe, um die Namen von Benutzern zu erhalten, die nicht der Freund dieser Person sind.

Wenn es unmöglich ist, den API-Aufruf zu beschleunigen, wie kann ich zumindest den Rest meiner Seite laden, während FQL läuft?

+0

"Also obwohl die wichtigsten API-Aufrufe am Ende der Seite sind" Es ist PHP, nicht JavaScript. – Flukey

Antwort

2

Die Facebook API ist sehr langsam, möchten Sie vielleicht fb api Aufrufe über die Javascript API und nur über PHP, wenn es absolut notwendig ist. Ajax ist dein bester Freund hier. Das Tätigen von Client-Nebenanrufen hat auch den Vorteil, dass kritische Benutzerdaten den Server möglicherweise nie berühren, und das ist ein gutes Argument für Ihre Site. Die Leute sind heutzutage sehr vorsichtig.

+0

Und vergessen Sie nicht, Sachen zu cachen, wenn Sie fb-api-Anrufe verwenden! Wie Namen von Menschen, die sich nicht sehr oft ändern. –