In Node.js, wie ketten Sie Klassenmethoden zusammen, wenn es am besten ist, Callbacks zu verwenden?Methoden der Kettenklasse mit Callbacks?
In meinen PHP Tagen, ich würde in der Regel etwas tun, wie folgen aus:
class MyClass {
function get() {
// fetch some data from an API endpoint
return this;
}
function set(property, value) {
// Set the property to some value on the object
return this;
}
function save() {
// Save the data to database
return this;
}
}
$myObject = new MyClass();
$myObject->set('something','taco')->save();
Dieses sehr gemeinsames Konzept OO SieFormal Kette Methoden zusammen, so oft erlaubt, wie man wollte.
Können Sie bei der Arbeit mit Node.js immer noch eine ähnliche Verkettung durchführen? Oder enden Sie einfach in der Callback-Hölle? Jede einzelne "Kette" ist ein verschachtelter Rückruf?
Oder muss ich einfach mein Skript in Promises?
new Promise(function(resolve, reject){
var myObject = new MyClass();
myObject.set('something','taco');
resolve(myObject);
}).then(function(myObject){
myObject.save();
});
Soll das so sein? Gibt es eine Möglichkeit, dies tiefer in meine Klasse zu integrieren, sodass ich sie nicht jedes Mal in Versprechen einbinden muss? Ich habe einige Bibliotheken gesehen, die eine Art "Versprechensmodus" wie https://github.com/sindresorhus/got haben, aber nachdem ich mir den Code angesehen habe, bin ich mir immer noch nicht ganz sicher, wie sie das gemacht haben.
ist es das, was Sie suchen? https://github.com/kriskowal/q und https://www.npmjs.com/package/q –
Nun, ich verwende keine Promise-Bibliothek mit Knoten 4.x richtig? –
Ich denke, vielleicht muss ich nur neue Promises in jeder Methode zurückgeben und das erlaubt mir, sie mit '.then' zu verketten. Ist das richtig? –