Я получил простой яваскрипт цикла и функцию обратного вызова с там и я struggeling с добавлениемКак обрабатывать яваскрипт сферы
console.log(accounts); // logs this: ["123", "456"]
for (var i = 0; i < accounts.length; i++) {
var currentAccount = accounts[i];
console.log(currentAccount); // first logs "123" and then "456" as expected
meta.getBalance.call(account, {from: currentAccount}).then(function(value) {
console.log(currentAccount); // logs "456" twice
console.log(value.value()); // logs the same value corresponding to "123" twice
});
}
Я полагаю, что он записывает «456» дважды в течение обратного вызова потому что это асинхронный вызов или что-то еще. Но я не уверен, как я могу это решить.
Любая идея?
[EDIT]
Я добавил еще один console.log
к нему, который регистрирует значение, возвращаемое обратным вызовом. К моему удивлению, лог те же значение дважды, что соответствует 123, а не до 456. ПОЧЕМУ ОН ПОЧЕМУ ?! Как это может быть в божественном названии ?!
Я понимаю, что на самом деле я не дал вам конкретной проблемы регистрации текущего счета из обратного вызова. Ассистент использует использование закрытий, как предлагали @yarons и другие. –