E 'possibile creare i metodi di concatenate che sono asincrone come questo in node.jsCreare metodi concatenati in node.js?
File.create('file.jpg').rename('renamed.jpg').append('Hello World')
vale a dire non-blocking.
E 'possibile creare i metodi di concatenate che sono asincrone come questo in node.jsCreare metodi concatenati in node.js?
File.create('file.jpg').rename('renamed.jpg').append('Hello World')
vale a dire non-blocking.
Che, fondamentalmente, vogliono astratta la natura asincrona delle operazioni di gestione dei file sul vostro API.
Si può fare, io mi consiglia di dare un'occhiata al seguente articolo:
L'articolo è stato scritto da Dustin Diaz, che attualmente lavora sul @anywhere JavaScript API, e fa esattamente quello che vuoi, usando una semplice implementazione in coda, una interfaccia fluente può essere creata, indipendentemente da ogni callback.
L'asincronicità è nascosta e viene gestita internamente dall'API, è una tecnica semplice e piacevole.
Esiste una libreria per questo? – ajsie
Il collegamento @anywhere è morto :( –
+1 per una libreria.Ho trovato https://github.com/FuturesJS/FuturesJS che ha un'API 'chainify', ma non riesce a trovare informazioni su come usarlo –
Certo, come qualsiasi JavaScript, si restituisce solo un oggetto che ha quel metodo.
Un possibile layout (tra molti).
var File = new (function()
{
this.create = function(str)
{
return this;
}
this.rename = function(str)
{
return this;
}
})();
Scusa se ho dimenticato di dirti che il codice deve essere asincrono in Node.js. Ho modificato il post. – ajsie
Se non è bloccante, non dovrebbe esserci una funzione di callback passata da qualche parte? –
@Matthew: Sì, dovrebbe. Quindi mi chiedo se c'è un modo per creare un metodo di concatenamento che è asincrono. Forse con una libreria che potrebbe gestirlo automaticamente in qualche modo. – ajsie