0
vis 타임 라인에 여러 항목을 추가합니다. 첫 번째 추가 작업은 콜백 내부에서 호출되어 제대로 작동합니다. 비동기 아약스 요청에서 오는 데이터를 두 번째로 추가하고 약속을 반환합니다.
getRocketChat().then(print);
이제 루프를 추가 할 때만 루프가 실행됩니다. 항목을 주석 처리를 제거해도 제대로 작동합니다. 나는 또한 timeline.redraw()
, items.update()
등으로 시도했지만 성공하지는 못했다. 왜 이것이 작동하지 않는지는 절대 모릅니다.vis 타임 라인 - items.add 비동기 함수에서 호출 할 때 루프가 반복됩니다.
function print(channelAndMessages) {
for (let i = 0; i < channelAndMessages.length; i++) {
console.log(channelAndMessages[i]);
for (let j = 0; j < channelAndMessages[i].messages.length; j++) {
console.log("ChannelName " + getChannelName(channelAndMessages[i].messages[j].rid));
let singleMsg = channelAndMessages[i].messages[j];
items.add({
id: "Chat" + singleMsg.id,
group: 'einsatzltr',
content: singleMsg.msg,
start: moment(singleMsg.ts)
});
console.log(singleMsg.msg); //excecuted only once
}
}
}