1
所以我有一個四個JSON對象的數組,我想向這些對象中的每個添加三個新的字段。爲此,我需要爲每個要添加的新字段設置一個異步函數。理想情況下,我想要做的是將異步函數限制爲每次只更新兩次。最後,回調原始函數並打印出新形成的數組。但我不能得到這個工作,雖然我覺得我靠近......異步數組函數
var async = require('async');
// My Array of JSON objects
var allIssues = [
{ id: '1', color: 'blue' },
{ id: '2', color: 'red' },
{ id: '3', color: 'gold' }
];
addExtraFeaturesToEachissue(allIssues, function(data) { console.log(data); });
function addExtraFeaturesToEachissue(allIssues, callback) {
async.each(
allIssues,
async.applyEach([addheight, addWidth, addWeight]),
callback(data)
);
}
function addHeight(issue, callback) {
setTimeout(function() {
issue.fields['height'] = "1000";
callback(issue);
}, 100);
}
function addWidth(issue, callback) {
setTimeout(function() {
issue['width'] = "100";
callback(issue);
}, 300);
}
function addWeight(issue, callback) {
setTimeout(function() {
issue.['weight'] = "500";
callback(issue);
}, 200);
}
請包括預期的JSON數組的形狀。另外,爲什麼你選擇異步方法並延遲使用超時填充JSON數組? –
[ {id:'1',color:'blue','width':100,'weight':'500',height:'1000'}, {id:'2',color:'red' ,'寬度':100,'重量':'500',高度:'1000}, {id:'3',顏色:'gold','width':100'weight':'500' :'1000} ]; 他們區域實際上更復雜的功能,我只是把一個隨機計時器,以表明他們需要一段時間來執行 –