Closed henriquecustodia closed 7 years ago
Rapaz, ponto muito bem levantado!!
Na verdade eu to estudando a remoção do bluebird como dependencia e como estamos usando babel podemos migrar integralmente pra ES6 Promise, o problema é que estavamos utilizando o Promise.any do bluebird, que se comporta diferentemente do Promise.race das specs.
Daí achei uma linda magia negra pra isso, mas to alterando algumas estruturas aqui. =D
const reverse = (promise) => new Promise((resolve, reject) => Promise.resolve(promise).then(reject, resolve))
Promise.any = function (iterable) {
return reverse(Promise.all([...iterable].map(reverse)))
}
Isso vai diminuir dependencias e consequentemente o tamanho final do módulo. (Principalmente pra versão web)
E aí, acha que é o suficiente? @henriquecustodia @filipedeschamps
PR com a proposta: #58
Boa tarde @lucianopf, cara parece uma boa alteração (não tenho um bom conhecimento do módulo :smile:). Porém, seria uma boa começar a usar totalmente a Promise spec e fazer as alterações necessárias em todo código que utiliza o bluebird.
Eu posso contribuir com essa alteração que citei, caso seja realmente necessária. :)
@henriquecustodia Manda bala cara!! Se quiser começar do master ou do meu branch fica à vontade mano! :grinning:
Boa noite :crescent_moon:. Bom, eu comecei a fazer as alterações relacionadas a essa issue, porém vários testes quebraram...porque precisei fazer uma alteração um tanto grande, por causa da remoção do aggregateErrors do bluebird. :disappointed: Então acho melhor deixar com vocês a implementação dessa mudança, que com certeza será melhor implementada.
Obrigado e boa noite.
Belo trabalho senhores 👍
PR aceito https://github.com/filipedeschamps/cep-promise/pull/58
Olá, estava dando uma olhada no código e notei que o módulo está usando o bluebird como o fornecedor do objeto Promise. Bom, em meu projeto NodeJS estou usando ES6 (sem usar qualquer transpiler) e assim, estou usando Promise nativa do javascript.
Gostaria de saber se há ou haverá alguma forma de setar esse objeto Promise, ao invés de forçar o uso de um específico (nesse caso o bluebird).
Essa possibilidade já existe no Mongoose, onde podemos setar um objeto promise:
Muito bom esse módulo, parabéns!