下面的代码,运行工作,但现在看来似乎并不会自动追加的职位,以便在(有时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