0
所以基本上我有一些承諾,forEach,只是我需要解決這個單一問題的很多問題。所以我一起工作的變量具有如下結構:需要幫助比較陣列中的值,forEach循環
persons = [object, object, object]
where each object has { user:number , username: string, latitude:number, longitude:number}
從那裏我試圖找出如果我的用戶/用戶名是其中的一個對象的內部,如果沒有找到ID喜歡創建它,如果發現發現編號喜歡它來更新他們的位置。聽起來很簡單,我認爲這個問題已經不成比例,但沒有任何效果。我現在所擁有的代碼無法使用,無論我何時無法知道用戶何時不在,或者我無法知道如何在每次找到不是我的用戶時停止創建我。
var getswamp = function(item, index) {
return new Promise(function(resolve, reject){
var result = false;
if (item.user === user && item.username === username) {
if ((item.latitude !== latitudenew) || (item.longitude !== longitudenew)) {
var id = item.id;
swampdragon.update('locationcurrent', {
user: user,
latitude: latitudenew,
longititude: longitudenew,
username: username,
id: id
}, function (context, data) {
console.log("data updated", data);
result = true;
resolve(result);
}, function (context, data) {
console.log("You may not be updated");
});
} else {
console.log("No location change");
result = true;
}
}else{
if (item.index === person.index){
console.log(person);
resolve(result)
}
}
});
};
person.forEach(function (item, index) {
var swamping = getswamp(item, index);
swamping.then(function (result) {
console.log(result);
if (result === true) {
console.log("We have you");
} else if (result === false && (index === person.length - 1)) {
console.log('Index: ' + index + ' Length of list is ' + person.length);
swampdragon.create('locationcurrent', {
user: user,
latitude: latitudenew,
longititude: longitudenew,
username: username
}, function (context, data) {
console.log("data created", data);
}, function (context, data) {
console.log("You may not be created")
});
}
})
});
任何幫助/想法都會很棒。
,什麼是問題? – MaxZoom 2015-03-24 21:41:00
我如何基本解決這個問題,我使用的東西不是forEach循環,沒有任何提示?我有我很想重構工作的代碼,但我會接受任何想法,以更好地解決實際工作的問題。 – 2015-03-24 21:43:07
因此,您需要向現有的用戶集合添加新用戶,如果用戶不在該集合中? – MaxZoom 2015-03-24 22:04:41