Ich bin relativ neu zu node.js und ich versuche, eine einfache node.js REST-Client als ein SDK zwischen einer API und einer größeren Anwendung zu handeln.REST-Client in node.js
Dies ist der aktuelle Code im Teil Client SDK index.js
entspricht:
var unirest = require('unirest');
var config = require('config');
var host = config.get('api.host');
unirest.get(host + '/api/products?_format=json')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json'})
.end(function (response) {
console.log(response.body);
module.exports.getProducts = function() {
return response.body;
}
});
Wenn ich im Terminal auszuführen: node index.js
der console.log
Befehl gibt das erwartete Ergebnis aus dem API-Aufruf
Jedoch, wenn Ich installiere das Paket im Hauptprojekt (als lokale Abhängigkeit) scheint es nicht zu funktionieren.
Hier ist der Code aus dem index.js
im Hauptprojekt:
var SDK = require('api-sdk-js');
var result = SDK.getProducts;
console.log(result);
In diesem Fall, wenn ich node index.js
die console.log
Befehl gibt undefined
für die result
Variable ausführen, vermute ich dies aufgrund der Anruf GET
in Da das SDK asynchron ist, gibt es den Wert zurück, bevor eine Antwort vorliegt.
Ich bin mir nicht sicher, wie das zu beheben, irgendwelche Vorschläge?
Alternativ wäre es auch für mich ein gutes Beispiel für einen REST-API-Client in node.js als SDK (d. H. Als ein Paket, das von einem anderen Projekt installiert werden kann).