historydev, единственный вариант как это можно исправить, так это поставить время на 2 секунд, чтобы отследить «а не приходят ли данные нам за это время», если нет - значит все данные прошли. Но это уже костыль :)
Дмитрий Беляев, да, данные там большие, тысяч так 10. Естественно, все это я не буду выводить, а буду выводить определенные и сделать как написали в ответе. Но а если данных будет много, тех что я фильтрую? Все, никак не поможет этот вариант :)
historydev, вы, наверное, не читали что я написал, да? В setInterval можно попасть в тайминг, что он просто очистится быстрее, чем мы сможем вывести.
Что значит по какому событию я буду извлекать - решать мне? Это сокет, realtime данные, я не могу отследить конечные данные. Если вы не можете дать ответ на вопрос который задал, просто не отвечайте. Ваш вариант никак не поможет, т.к. попадет в messages один объект и мы сразу выводим, после удаляем данный объект и он снова выводит, тк была задержка.
Дмитрий Беляев, признака, что все объекты получены, тоже нельзя отследить, разве что костыль делать. Это данные из бирж и тут они каждую 1 мс приходят. Просто то, что мне нужно, я фильтрую
Константин Б., через browser нам это все проверять?
т.е.
const set = (…) => {
if (typeof browser !== undefined && browser.storage) {
// загружаем либу для работы с chrome
} else {
// работаем с localstorage
}
}