-
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
- LG OLED 65G4 - 165cm, 4k, 144Hz - szépséghibás - ÁRON ALUL
- Számlával, Garanciával! Sony PlayStation 4 Pro Jet Black 1TB
- LG 32GR93U-B IPS/4K/144HZ gamer monitor
- BenQ ZOWIE XL2566K 360HZ DyAC+ E-Sport monitor
- Apple iPhone 16 Pro Max 512GB Fekete Titán 100% AKKU Karcmentes, doboz-apple +alza garancia 2028febr
- Xiaomi Redmi Note 13 256GB, Kártyafüggetlen, 1 Év Garanciával
- Acer TravelMate P214 i3-1115G4 16GB 512GB 14" FHD 1év garancia
- BESZÁMÍTÁS! LENOVO ThinkPad P15 Gen1 - i7 10850H 64GB DDR4 1TB SSD Quadro T2000 WIN11
- Asus TUF Gaming F15 FX507 - 15,6"FHD 144Hz - i5-12500H - 8GB - 512GB SSD - RTX 3050 - 1 év garancia
- Bontatlan iPhone 16 (128 GB) (rendelhető)
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

