У меня довольно простые вопросы о цикле for в javascript. Я пытаюсь увеличить значение (j
в моем коде) после того, как я запустил метод, объявляющий метод обратного вызова, и в этой функции я увеличиваю значение. Но мой код ломается, и я не уверен, что это действительный JavaScript. Но везде я проверяю это верно Javascript код:value ++ in for loop
http://www.w3schools.com/js/js_loop_for.asp
как один на один, Statement 3
Вот мой код:
for(j=0; j <= 5;)
{
var keyContent = window.localStorage[window.localStorage.key(j)];
console.log(keyContent);
var dataForm = JSON.parse(keyContent);
uploadDataAndImage(dataForm, function(data) {
console.log(data);
if(data){
console.log("Data good");
j++;
}
else
{
console.log("Data bad");
break;
}
});
}
EDIT: Сделано это работает, делая это:
var formDataArray = [];
for(j=0; j <= 5; j++)
{
var keyContent = window.localStorage[window.localStorage.key(j)];
console.log(keyContent);
var dataForm = JSON.parse(keyContent);
formDataArray[j] = JSON.parse(keyContent);
uploadDataAndImage(formDataArray[j], function(data) {
console.log(data);
if(data){
console.log("Data good");
}
else
{
console.log("Data bad");
return;
}
});
}
Increment J в течение цикла, как (J ++) – stanze
'uploadDataAndImage' является асинхронным, не так ли? Это не будет работать с циклом for. – Bergi
Да, это асинхронно. Я сделал это с помощью обходного пути, см. Мое редактирование. –