Aus einer .net-Welt, in der Synchronizität gegeben ist, kann ich meine Daten aus einer Backend-Quelle wie einer Datenbank, Lucene oder sogar einer anderen API abfragen. Ich habe Probleme, eine gute Probe davon für node.js zu finden, wo async die Norm ist.node.js und hapi: synchrones Abrufen von Daten aus einer Datenbank
Das Problem, das ich habe, ist, dass ein Client einen API-Aufruf zu meinem Hapi-Server macht, und von dort muss ich die Parameter aufnehmen und eine Elasticsearch Abfrage zum Aufruf erstellen, mit der request
-Bibliothek, und warten Damit die Instanz zurückkehrt, bevor sie meine Sicht auffüllt und an den Client zurücksendet, ist das Problem, dass die Anforderungsbibliothek einen Rückruf verwendet, sobald die Daten zurückgegeben wurden, und die leere Sicht bis dahin wieder an den Client zurückgegeben wurde.
Der Versuch, die Rückgabe innerhalb des Callbacks zu platzieren, funktioniert nicht, da der EOF für das Javascript bereits getroffen wurde und null zurückgegeben wurde. Was ist der beste Weg, Daten innerhalb eines Serviceaufrufs abzurufen?
EX:
var request = require('request');
var options = {
url: 'localhost:9200',
path: {params},
body: {
{params}
}
}
request.get(options, function(error, response){
// do data manipulation and set view data
}
// generate the view and return the view to be sent back to client
Können Sie uns Ihren Hapi-Code zeigen? –