Ich habe eine JSON, die Liste der serialisierten Objekte enthält. Und ich möchte diesen JSON gehen und Nachrichten davon eine Nachricht pro 2 Sekunden zeigen und dann aufhören. ich es auf diese Weise tat:jquery Timeout innerhalb der Schleife funktioniert nicht
$.ajax({
type: 'GET',
url: basename+'/getUnprocessedList/123',
dataType: 'jsonp',
success: function (data) {
for(var i=0, keys=Object.keys(data), l=keys.length; i<l; i++) {
console.log('hit '+i);
setInterval(processMessage(data[i]),2000);
}}
});
Aber nichts dort zu arbeiten, setInterval nur ignoriert, werden alle Nachrichten auf einmal angezeigt, wie kein jeder Timeout. Ich habe versucht, $ .Each, setTimeout, nichts funktioniert. Was ist da falsch?
'processMessage (data [i])' ruft sofort die Funktion auf. – nicovank
Siehe http://stackoverflow.com/questions/32770286/javascript-settimeout-doesnt-seem-to-work-like-i-expect in Bezug darauf, wie Sie 'setInterval()' und http: // stackoverflow aufrufen. com/questions/1451009/javascript-infamous-loop-issue bezüglich der Verwendung der Variable 'i'. – Barmar