Sincronizar as operações assíncronas do nó

Às vezes, os métodos em um pacote de nó fazem operações assíncronas e não têm variantes de sincronização. Usando ‘deasync’ podemos tornar isso uma brisa e manter seu código limpo.

Uso:

(substitua yourAsyncMethodpor sua função)

console.log('starting');

sync
.do(function(){
yourAsyncMethod
(function(){
console
.log('operation done');
sync
.done();
});
});

console
.log('end');

Definição:

var sync = {
_deasync
: require('deasync'),
_done
: false,
do: function(callback, sleep) {
this._done = false;
callback
();
while ( ! this._done) {
this._deasync.sleep(sleep ? sleep : 100);
}
},
done: function() {
this._done = true;
}
}