Итак, я работаю над проектом из книги, в которой TaffyDB используется для создания коллекции людей. Проект представляет собой простой чат, в котором список пользователей создается в виде списка html онлайн-пользователей в окне. В настоящее время я использую поддельные данные для тестирования, и у меня есть один для каждого цикла (в jquery), который работает правильно, печатает пять «аватаров» на экране. Да, мой цикл для печати онлайн-пользователей выполняется дважды: почему это ? Эти две петли используют ту же самую настройку, но вторая выполняется дважды.TackyDB jquery для каждого цикла работает дважды
для каждого, который работает:
people_db().each(function(person,idx){
var class_list;
if(person.get_is_anon()){ return true; }
class_list = ['spa-avtr-box'];
if(person.id === chatee.id){
class_list.push('spa-x-is-user');
}
$box = $('<div/>')
.addClass(class_list.join(' '))
.css(person.css_map)
.attr('data-id', String(person.id))
.prop('title', spa.util_b.encodeHtml(person.name))
.text(person.name)
.appendTo($nav);
});
цикл, который проходит дважды:
people_db().each(function(person,idx){
var select_class = '';
console.log(person);
if(person.get_is_anon() || person.get_is_user()) {
return true;
}
if(chatee && chatee.id === person.id){
select_class = 'spa-x-select';
}
list_html
+= '<div class="spa-chat-list-name'
+ select_class + '" data-id="' + person.id + '">'
+ spa.util_b.encodeHtml(person.name) + '</div>';
});
if(!list_html){
list_html = String()
+ '<div class="spa-chat-list-note">'
+ 'To chat alone is the fate of all great souls...<br><br>'
+ 'No one is online'
+ '</div>';
clearChat();
}
jqueryMap.$list_box.html(list_html);
}
Любые идеи, что я делаю неправильно? Я подробно рассмотрел остальную часть моего кода, и я не называю его дважды, я почти уверен, что это должно быть что-то с циклом.