Skip to content

Latest commit

 

History

History
133 lines (84 loc) · 3.8 KB

LEEME.md

File metadata and controls

133 lines (84 loc) · 3.8 KB

best-promise

elije la mejor librería de promesas disponible (o le deja la opción al usuario)

extending npm-version downloads build climate dependencies

idioma: castellano también disponible en: inglés -

Basado en any-promise

Cuando se usa con Travis-CI best-promise seleccionará al azar una librería Promise.

En el resto de los casos funciona igual que any-promise.

La lista de módulos Promise es:

Si no hay ninguna librearía instalada any-promise intenta exportar el módulo global Promise (ya sea nativo o el polyfill).

Se puede especificar la librería elegida en cada momento usando la variable de ambiente PROMISE_IMPL o también se puede usar la variable de ambiente PROMISE_RANDOM para que sortee aunque no esté en Travis-CI.

var Promise = require('best-promise').Promise;

return Promise
  .all([xf, f, init, coll])
  .then(fn);

return new Promise(function(resolve, reject){
  try {
    resolve(item);
  } catch(e){
    reject(e);
  }
});

mejoras

Una forma común de las promesas es empezar la primera función dentro de un then, de ese modo si la expresión que arma los parámetros lanza un error se captura dentro de la cadena de promesas

var Promises = require('best-promise');
var fs = require('fs-promise');

Promises.start(function(){
    return fs.stat(path+path.sep+fileName);
}).then(function(stat){
    // ...
});

Licencia

MIT