Javascript push function nem hívódik meg egy másik függvényen belül?
Figyelt kérdés
Például:
testarray = [];
function foo(data){
testarray.push(data);
}
mysql_query("select * from meals where type = 'apple'", function(data){
foo(data);
});
2017. máj. 14. 21:51
1/3 anonim válasza:
Már megbocsáss, de ez mi akar lenni? És milyen nyelven?
2/3 anonim válasza:
Sejtem, hogy mi lehet a gond.
Ha a következő sor közvetlenül az itt leírt pontosvessződ után egy console.log(testarray), akkor üres tömböt mutat, igaz?
Ez azért van, mert a mysql_query-ben átadott callback függvény aszinkron módon hívódik meg, tehát hamarabb elér a kód a testarray kiíratásához, minthogy lefutna az a rész, amikor pusholod az elemeket.
Ha a callback-ben íratod ki a tömb tartalmát, akkor helyes lesz az eredmény. Ami tovább dolgozik majd a testarray tartalmával, azt a callback-en belül hívd meg, így biztosítod, hogy már megvan az adat, amikor szükséged van rá.
3/3 A kérdező kommentje:
Pontosan úgy van minden, ahogyan a #2. írja. Már megoldottam a problémát, köszönöm szépen a válaszod! :) Elsőnek: nodejs, javascript
2017. máj. 14. 23:27
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!