-
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
- 5.1, 7.1 és gamer fejhallgatók
- Assetto Corsa Rally
- Kormányok / autós szimulátorok topikja
- Milyen notebookot vegyek?
- Építő/felújító topik
- BestBuy topik
- Luck Dragon: Asszociációs játék. :)
- Telekom mobilszolgáltatások
- Samsung Galaxy A56 - megbízható középszerűség
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- További aktív témák...
- Xiaomi Redmi 14C 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple MacBook Pro 14 2021(M1 Pro) 16GB RAM / 512GB SSD / 273 ciklus prémium gép!
- Apple MacBook Pro 16" 2021 (M1 Pro) 32GB RAM / 512GB SSD / 3456X2234 Retina XDR
- Új Gamer PC - Ryzen 7 5700X / RTX 5060 Ti / A520M / 32GB RAM 3600Mhz / 256GB + 1TB M.2 SSD / 750W
- Xiaomi Redmi 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Laptop felvásárlás , egy darab, több darab, új , használt ! Korrekt áron !
- Bomba ár! Acer Aspire ES1 - AMD A8 I 8GB I 180GB SSD I 15,6" HD I HDMI I Cam I W10 I Garancia!
- Apple MacBook Pro 13" 2019 256/8GB Akku:40 ciklus! Magyar
- GeForce RTX 3060 (OEM HP)
- HIBÁTLAN iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3421
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest

