In Node.js, come si concatenano insieme i metodi di classe, quando è consigliabile utilizzare i callback?Metodi di concatenamento con callback?
Nei miei giorni di PHP, vorrei tipicamente fare qualcosa di simile:
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();
Questo approccio OO molto comune che si permesso di metodi di concatenare le volte che si voleva.
Quando si lavora con Node.js, si può ancora eseguire in qualche modo il concatenamento in questo modo? O finisci semplicemente nel callback dell'inferno? Ogni singola "catena" è una callback annidata?
Oppure ho semplicemente bisogno di avvolgere il mio script in Promises?
new Promise(function(resolve, reject){
var myObject = new MyClass();
myObject.set('something','taco');
resolve(myObject);
}).then(function(myObject){
myObject.save();
});
È così che dovresti farlo? C'è un modo per integrare questo più profondamente nella mia classe in modo da non doverlo avvolgere in promesse ogni volta? Ho visto che alcune librerie hanno una sorta di "modalità promessa" come https://github.com/sindresorhus/got ma dopo aver visto il codice non sono ancora sicuro di come l'hanno fatto.
è questo quello che stai cercando? https://github.com/kriskowal/q e https://www.npmjs.com/package/q –
Bene, non utilizzare una libreria Promise con Node 4.x, giusto? –
Suppongo che forse ho solo bisogno di restituire nuove promesse in ogni metodo e che mi permette di concatenarle usando '.then'. È giusto? –