Kezdőoldal » Számítástechnika » Weblapkészítés » Javascript push function nem...

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:
0%
Már megbocsáss, de ez mi akar lenni? És milyen nyelven?
2017. máj. 14. 23:04
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
100%

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á.

2017. máj. 14. 23:06
Hasznos számodra ez a válasz?
 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!