Ich habe einen NodeJS Server, der JSON von drei Webseiten nimmt und es sendet, um auf meiner Website (in JSON) angezeigt zu werden. Der JSON auf den Webseiten, von denen ich ausgehe, wird ständig alle 10 Sekunden aktualisiert. Wie kann ich meinen NodeJS-Server ständig aktualisieren, sodass er die aktuellsten Daten enthält?Wie man einen Nodejs Server asynchron macht
Ich nehme an, das ist nicht möglich, ohne die Seite zu aktualisieren, aber es wäre optimal, wenn die Seite nicht aktualisiert wurde.
Wenn dies mit NodeJS nicht möglich ist und es eine andere Methode gibt, dies zu erreichen, wäre ich sehr dankbar, wenn Sie es mir sagen würden.
Code:
router.get("/", function(req, res){
var request = require('request-promise');
var data1;
var data2;
var data3;
request("website1.json").then(function(body){
data1 = JSON.parse(body);
return request("website2.json");
})
.then(function(body) {
data2 = JSON.parse(body);
return request("website3.json");
})
.then(function(body){
data3 = JSON.parse(body);
res.render("app.ejs", {data1: data1, data2: data2, data3: data3});
})
});
Können Sie den Service, den Sie von der einrichten nicht abfragen Client über js Ajax/Comet Anrufe? Sie könnten auch in ein Framework wie Meteor schauen. Oder richten Sie es selbst über Websockets ein - siehe Tutorials auf socket.io und ähnlichem. – ldg
Asynchron und Aktualisieren einer Seite ohne Aktualisierung sind zwei sehr unterschiedliche und separate Konzepte.Sie haben auch zwei Möglichkeiten, eine Seite ohne Aktualisierung zu aktualisieren. Erstens, den Server überhaupt nicht zu modifizieren, stattdessen den HTML/JavaScript-Code im Browser zu ändern, um regelmäßig neue Daten zu holen (alle 10 Sekunden?). Zweitens, Ändern des Servers, um Push-Benachrichtigungen über kometähnliche Techniken oder Websockets zu verwenden. – slebetman