我有一個使用async/await模塊編寫的nodejs庫。我試圖從使用常規回調的庫中使用它。下面是一個示例代碼:從回調調用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 }
順便說一句,如果我內聯中的「async.cps」行它的工作原理foo的實施(但這不是一個選項,因爲它是一個外部庫)。
有什麼想法?