Como o promisifyAll funciona ou quais são os requisitos para ele funcionar?
Em uma biblioteca de promessas, o bluebird tem a função promisifyAll ou outras bibliotecas semelhantes que afirmam converter funções assíncronas com padrões de retorno de chamada em ie com base em promessas.resolve()
, reject()
oudone()
..Então, como isso funciona?
Por exemplo:
function myAsync1 (data, url, callBack) {...}
e se eu colocar
Promise.promisify(myAsycn1);
então minha função funcionará assim ..
myAsync1('{..}', 'http://..').then(function(){...});
Isso está me incomodando. Existe um padrão que as assinaturas ou funções não prometidas assíncronas precisam seguir para o Bluebird promisifyAll para convertê-las em métodos baseados em promessas ou existe alguma mágica que as converte.
Caso contrário, quais são os requisitos e como ele funciona com as bibliotecas existentes, como o mongodb etc.