我的javascript页面遇到了很多麻烦。
基本上,我有一个从 php 页面获取数据的 html/javascript 页面。我多次这样做,将它们推入数组,然后显示数组。
这是代码的概要
var spawnedNewspaper = [];
var articlesToSpawn = null;
$("#generate").click(function() {
spawnNewspaper();
});
function spawnNewspaper(){
if(itemsToSpawn==null){
articlesToSpawn = 4;
spawnedNewspaper = [];
}
if(itemsToSpawn > spawnedNewspaper.length)
spawnAnItem();
if(itemsToSpawn == spawnedNewspaper.length){
itemsToSpawn = null;
// ... display the results
}
}
function spawnAnItem(nationalDexID, level, generateRandomBerry, generateRandomTMItem, generateRandomItem, knowsRandomTM, imageURL){
$.getJSON("...url.../spawner_json.php?jsoncallback=?" ,
{
dataitename: data
}
, spawnAnArticlePart2
);
}
function spawnAnArticlePart2(data){
//returning from spawnAnItem callback
p = ArticleObject(data.heading, data.date, data.author)
spawnedNewspaper.push(p);
spawnNewspaper();
}
function ArticleObject(heading, date, author){
this.heading = heading;
this.date = date;
this.author = author;
return this;
}
因此,完成后,它会以正确的文章数量显示我的数组,但是当我知道它每次都生成独特的东西时,每篇文章都是完全相同的。
我的想法是存在并发问题并且事情被覆盖(我使用了 push() 所以这很奇怪),或者我的 ArticleObject 有问题。
有想法该怎么解决这个吗?