fs.readFile(itemsPath, {encoding: 'utf8'}, function (err, data) { if (err) { deferred.reject(err); return; } var items = vdf.parse(data); var itemDatas=[]; _.forIn(items.DOTAAbilities, function (item, name) { if (name.indexOf("item_") !== 0) { return; } if(_.contains(name,"recipe")){ item.ItemAliases = name.slice("item_".length).replace(/_/g, ' '); } if(!item.ItemAliases ||parseInt(item.ItemCost) ===0){ return; } itemDatas.push( { item_id: item.ID.toString(), name: name, cost: item.ItemCost, displayname: item.ItemAliases }); }); //Erstellt die Items oder updated sie Q.all(q.map(itemDatas,function(itemData){ return Item.findOne({item_id: itemData.item_id}).then(function(item){ if(item){ return Item.update({item_id: itemData.item_id}, itemData) .then(function(items){ return items[0]; }) }else{ return Item.create(itemData); } }); })).then(deferred.resolve); });
headers: {'Content-Type': 'application/json'} }, function (err, response, body) { if (err) { console.log("Failed to get message: ", err); defer.reject(err); } else { defer.resolve(body); } } ); return defer.promise; }; var msgIds = ['0','1','2','3']; async.map(msgIds, function (msgId) { return getMessage(msgId).then( function (msg) { return JSON.parse(msg); }); }).then( function (messageList) { console.log(messageList); }, function (err) { console.log("ERROR: ", err); } ).done();