У меня есть библиотека nodejs, написанная с использованием модуля async/await. Я пытаюсь использовать его из библиотеки, которая использует регулярные обратные вызовы. Вот пример кода:вызов asyncwait из обратного вызова
var async = require('asyncawait/async');
var await = require('asyncawait/await');
var Promise = require('bluebird');
var foo = async (function() {
var resultA = await (Promise.promisify(bar));
return 111;
})
function bar(callback) {
setTimeout(callback, 2000)
}
function moo() {
var f = async.cps(foo)
f(function(err, res) {
console.log(res)
})
}
moo()
Я ожидал console.log напечатать 111, но вместо этого она печатает:
{ _bitField: 0,
_fulfillmentHandler0: undefined,
_rejectionHandler0: undefined,
_progressHandler0: undefined,
_promise0: undefined,
_receiver0: undefined,
_settledValue: undefined }
Кстати, если я встраивать реализацию Foo в «async.cps» линии это работает (но это не вариант с его внешней библиотеки).
Любая идея?