下面的代碼,運行工作,但現在看來似乎並不會自動追加的職位,以便在(有時post_2
是第一和post_4
秒):對數組進行迭代不會按順序執行任何操作?
var posts = [
"post_1.md",
"post_2.md",
"post_3.md",
"post_4.md",
"post_5.md",
"post_6.md",
"post_7.md"];
for (var i in posts) {
$.ajax({
url: "posts/" + posts[i],
context: document.body,
success: function (mdText) {
var converter = new Showdown.converter();
var htmlText = converter.makeHtml(mdText);
$("body").append(htmlText);
}
});
}
它遍歷數組中的元素,爲每個元素下載一個Markdown文檔,將其轉換爲HTML,並將其附加到主體。我嘗試了一個簡單的for
循環以及Underscore的函數。所有三個都有相同的結果,運行時它們不按順序附加文檔(所以當我點擊刷新時,標題的順序不同)。任何想法,爲什麼會發生這種情況和解決辦法?
謝謝。正是我在找的東西;不知道我怎麼沒有注意到這一點。 – raf 2013-03-09 19:53:45
@RafalChmiel很高興這是你要找的東西,如果你不介意的話,請將它標記爲已接受的答案:) – 2013-03-09 19:57:29
當然,當我查看[documentation]時,我簡單地設置了'async:false', (http://api.jquery.com/jQuery.ajax/)使這個同步。 – raf 2013-03-09 20:02:03