-
Fototrend
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
CSorBA
őstag
válasz
Mr Dini #6334 üzenetére
De a JavaScript nem így működik. A JS egy szálon fut. Ha valami külső dologra (async) kell várnia, akkor nem állhat le. Ugrik a következő sorra. Hát gondolj bele, ha valami hiba történne, vagy lassú lenne a net, akkor addig állna, míg be nem tölt valamit? És az állt úgy kell érteni, hogy addig semmit sem tudsz csinálni. Épp ezért egy ilyen asyncron kérés visszatér egy promissal, ami ha resolválódik. (Teljesül az ígéret) akkor meghívja a jövőben azt a függvényt, ami erre várt.
Az általad hozott példát valahogy így lehetne használni:
function getPage (url) {
'use strct';
return new Promise((resolve, reject) => {
const httpLibrary = url.startsWith('https') ? require('https') : require('http');
httpLibrary.get(url, (response) => {
const body = [];
response.on('data', (chunk) => body.push(chunk));
response.on('end', () => resolve(body.join('')));
}).on('error', (error) => {
console.log('Error!', error.message);
});
});
}
getPage('http://vanenet.hu').then((html) => doWhateverYouWantWithHTML(html));
function doWhateverYouWantWithHTML (html) {
console.log(html);
}A doWhateverYouWantWithHTML-be írod amit szeretnél csinálni, és ez akkor hívódik meg, mikor betöltődött sikeresen a page, amivel meghívtad a getPaget.
Szerk.: De ahogy látom Jim-Y fórumtárs is erre próbált fentebb rávezetni, egy hasonló példával.
Tényleg olvasgass a témában, nem feltétlen egyszerű, de mindenkinél van egy pillanat mikor átkattan és megérti.
Új hozzászólás Aktív témák
- Xbox Series X|S
- Anime filmek és sorozatok
- CURVE - "All your cards in one." Minden bankkártyád egyben.
- Xiaomi 15 - kicsi telefon nagy energiával
- Háztartási gépek
- Teljes verziós játékok letöltése ingyen
- Ford topik
- Cyberpunk 2077
- Kerékpársportok
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- Philips 58PUS8505 Smart LED Televízió,146 cm, 4K Ultra HD ,Android, Ambilight, HDR10+ KIJELZŐHIBÁSAN
- Canon EOS 250D kiegészítőkkel, táskával (CSAK 200 expoval !!! )
- Lenovo Legion Go 512GB + rengeteg extra!
- Bivaly erőmű Lenovo P1 G3 (Core I9 8mag/16 szál 32Gb DDR4 1Tb SSD 4Gb Nvidia) MAGYAR laptop eladó!
- Samsung 860 EVO 2.5 500GB SATA3 MZ-76E500 100/90
- Apple iPhone X, 256GB, Kártyafüggetlen
- LG 40WP95XP-W - 40" NANO IPS - 5120x2160 5K - 72Hz 5ms - TB 4.0 - HDR - AMD FreeSync
- Lenovo ThinkPad X1 Carbon G8, i7-10510U, 16GB, 1TB SSD, 4K kijelző + WWAN (ELKELT)
- Beszámítás! Sony PlayStation 5 825GB SSD lemezes konzol extra játékokkal garanciával hibátlan
- BESZÁMÍTÁS! Asus B450 R7 2700X 16GB DDR4 512GB SSD RTX 2070 8GB Rampage SHIVA TT 500W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest