2016-07-22 4 views
2

Normalerweise, wenn eine asynchrone api Rufdaten der Seite abhängt, zu packen, würde ich:Seite machen abhängig von Asynchron-Aufruf

  1. die html
  2. Verwenden ajax von Kundendaten
  3. anzeigen greifen Serviere eine Art Lade Text/Animation bei Bedarf
  4. Inhalt rendern, wenn die Daten

verfügbar ist, wenn ich alle hTML-Datei auf Seite gerendert wollen Last, jedoch gibt es einen guten Grund, von dem Server (psuedo-Code) nicht nur zu tun:

app.get('/', function(req, res) { 
    _apiService.getData() 
    .then(function(data) { 
     //build html from template or whatever using data 
     res.send(html); 
    }) 
    .catch(function(err) { 
     res.send(errorPage); 
    }); 
}); 

Im Stil eines traditionellen, synchron, erhalten Daten dann Sachen Weg zurückkehren?

Offensichtlich gibt es kein schickes Ladesymbol und stattdessen wartet diese Zeit auf das Laden der Seite, aber Sie würden das vollständig gerenderte HTML und die Einfachheit im Gegenzug bekommen.

* Frage geht davon aus Anforderung asynchroner api

+1

Was ist die Frage? Persönliche Vorlieben, technische Einschränkungen, etwas anderes? – Amit

+1

würden Sie den Vorteil des Ladens (oder Neuladens) einzelner Stücke verlieren und die wahrgenommene Ladezeit wäre wesentlich größer. –

+0

@Amit technischen Einschränkungen – aw04

Antwort

1

Es hängt davon ab, welche Art von Daten, die Sie dienen.

Wenn Sie Daten bereitstellen, die sich häufig ändern (häufiger als ein Benutzer die Seite neu laden würde), ist AJAX eine ideale Lösung.

Zum Beispiel, Social-Media-Daten: Benutzer können etwas veröffentlichen, während andere Benutzer darauf warten, es zu sehen. Daher würde Ihre Anwendung idealerweise diese Daten abrufen, sobald sie verfügbar waren.

Ansonsten ist das Laden vom Backend eine einfachere Option, vor allem mit Daten wie Blogposts: neue Blogposts werden nicht alle paar Minuten kommen und eine kleine Anzahl von Benutzern wird die Seite geöffnet haben, wenn sie es sind verfügbar, so dass Ihre Anwendung es nicht laden muss, sobald es verfügbar ist.

+0

ja ich akzeptiere, dass dies nichts für Daten tut, die man braucht/greifen nach dem Laden der Seite – aw04

+0

@ aw04 so hilft mir meine Antwort? Wonach suchen Sie? – Polyov

+0

es tut, danke. Ich möchte es für eine Weile offen halten, um so viele Gedanken wie möglich zu sammeln und ich werde etwas akzeptieren :) – aw04

Verwandte Themen