ich den Knoten Anfrage Bibliothek bin mit der unter folgendem Link zu finden sindKnoten anfordern Bibliothek - Versprechen Refactoring
https://github.com/request/request
ich eine Reihe von Funktionen haben, die wie folgt
aussehenfunction doRequest() {
return new Promise(function(resolve,reject) {
request('some-url', function(error,response,body) {
if (!error && response.statusCode === 200) {
resolve(body)
}
});
});
}
Ich rufe diese Funktionen dann wie folgt an:
doRequest()
.then(function(response){
console.log(response);
})
Meine Frage ist, gibt es eine Möglichkeit, meine doRequest-Funktion zu schreiben, ohne ein neues Versprechen erstellen zu müssen? Ich habe das Gefühl, dass es unbeholfen aussieht und möglicherweise ein Anti-Muster sein könnte? Eine Art, wie in AngularJS Sie oft sehen, wie Menschen
$q.defer()
verwenden, wenn http Anrufe tätigen, wenn der HTTP-Aufruf bereits ein Versprechen zurück.
Jeder Rat wäre toll.
Nein, das ist der richtige Weg, es selbst zu tun und ist kein Anti-Muster, obwohl es mich nicht überraschen würde zu finden, dass jemand es bereits ermöglicht hat, diese Bibliothek Promisify zu machen. – Alnitak
Tatsächlich gibt es im Git Repo bereits Testfälle für die Verwendung von Promisify mit 'Anfrage' – Alnitak
Danke für die Antwort. Lassen Sie das Zurückweisungsbit der Kürze halber aus! – user2085143