我想了解有關node.js中的異步模塊的一件事。將對象返回到node.js中的async.each函數
我已經創建了一個函數,它將一個對象從一個表單映射到一個模型對象並返回這個對象。 此對象是帶有一組標籤的視頻。
我的問題是我可以在哪裏返回視頻?我通常知道它是在異步回調函數內,但如果我這樣做,返回的對象是未定義的。 而如果我在整個功能的末尾返回視頻對象,它的作品,但它不安全,因爲我不知道,我的異步完成...
順便說一下,我不明白回調函數傳遞給參數async.each和 後調用video.products.push(tag);
。這個函數做什麼?
問候
在我mapping.js:
exports.video = function(object) {
var video = new Video();
video.name = object.name;
video.products = [];
async.each(object.tags, function(tago, callback) {
tag = {
"name" : tago.name
}
video.products.push(tag);
callback();
} ,
function(err) {
if(err) {
console.log('Error' + error);
throw err;
}
logger.debug("into async" + video);
}
);
logger.debug("end function ");
**//return video;**
}
在我的Video.js:
var video = mapping.video(object);
logger.debug(video); // return undefined
:如果是的話,上面的代碼將做到這一點,否則下面的代碼會工作得更好'async'當你的回調函數根本不是異步的?我真的認爲你想要一個同步['map()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) – Bergi