В библиотеке обещаний bluebird есть функция promisifyAll или другие подобные библиотеки, которые утверждают, что преобразуют async-функции с обратными вызовами в обетование, основанное на ie. resolve()
, reject()
или done()
.. Так как это работает?
Например:
function myAsync1 (data, url, callBack) {...}
и если я положил его в
Promise.promisify(myAsycn1);
то моя функция будет работать так.
myAsync1('{..}', 'http://..').then(function(){...});
Это беспокоило меня. Есть ли шаблон, в котором должны выполняться обезьяны-обезьяны или функции aync для обезьян Bluebird promisifyAll, чтобы преобразовать их в методы, основанные на обещаниях, или есть какая-то магия, которая их преобразует.
Если нет, то каковы требования и как это работает с существующими библиотеками, такими как mongodb и т.д.