我想用我的回調函數JS解決一個問題。我只是想根據索引更新3 div的HTML。請在下面找到使用回調不能正常工作的遞歸Javascript函數
<div id="try0">50</div>
<div id="try1">50</div>
<div id="try2">50</div>
function getNumberOfAnswers(questionID, callback)
{
var value = i*10;
callback(value.toString());
}
var i=0;
getNumberOfAnswers(i, function callFunc(ratio){
var itemToChg = 'try'+i;
document.getElementById(itemToChg).innerHTML = ratio;
if(i<3){
i++;
getNumberOfAnswers(i,callFunc(ratio));
}
});
我沒有把任何標籤上上面的代碼來簡化代碼,但我做了一個的jsfiddle它。 http://jsfiddle.net/cyrilGa/zmtQ8/。在結束的第三行,我試圖寫getNumberOfAnswers(i,ratio);但它不起作用。 有人可以幫我這個 乾杯
我不知道我f可以修復這種重疊的調用/聲明結構,但我認爲你只需選擇最簡單的方法來完成一件簡單的事情。你能解釋一下你準備做什麼嗎? –
說「它沒用」是沒用的。你期望什麼?究竟發生了什麼?你得到了什麼錯誤? – RobG
我的實際問題實際上比上面的更復雜一點,所以我試圖簡化它。我使用Javascript異步查詢parse.com數據庫10次。所以我必須等待一個查詢的結束(因此回調),然後再次查詢它。 (因此遞歸部分)。對於數據庫中的每個結果,我正在更新div內的值。希望這是明確的 –