| Autor | Zpráva | ||
|---|---|---|---|
| Melvil Profil * |
#1 · Zasláno: 24. 11. 2020, 19:06:27
Zdravím,
snažím se přepsat následující skript, abych náhodná čísla vybírat z API: var getRandomDatesInMonth = function(year, month) {
var dates = [];
for (var i = 0; i < 5; i++) {
dates.push(new Date(year, month, Math.ceil(Math.random() * 30)));
}
console.log(dates);
return dates;
};Skript jsem tedy přepsal: var getRandomDatesInMonth2 = function(year, month) {
var dates = [];
$.post( "test.php", { year: year, month: month })
.done(function( data ) {
$.each(data, function(i, item) {
console.log(item.date);
dates.push(new Date(year, month, item.date));
});
});
console.log(dates);
return dates;
};Ovšem data, které se mi vrací, jsou rozdílná, níže posílám obrázek z console: Netušíte prosím kde dělám chybu, aby mi i druhý kód vracel data ve stejném formátu? Díky moc! |
||
| Melvil Profil * |
#2 · Zasláno: 24. 11. 2020, 19:39:51
|
||
| Radek9 Profil |
#3 · Zasláno: 24. 11. 2020, 22:59:47
Melvil:
Ajax (už z názvu - Asynchronous JavaScript And XML) je asynchronní. Ten return proběhne dřív než se zavolá ta callback funkce v done. Veškerá práce, kterou potřebuješ s těmi daty dělat, by se tedy měla spouštět až v ní.
|
||
| Radek9 Profil |
(Omylem se mi to poslalo dvakrát.)
|
||
|
Časová prodleva: 6 let
|
|||
0