-
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
- Autós topik
- NFL és amerikai futball topik - Spoiler veszély!
- Önmagában is értékesíthetőnek tartja a Vera CPU-t az NVIDIA
- Anglia - élmények, tapasztalatok
- HMD Watch X1, Watch P1 és DUB széria: új viselhető kütyük a HMD-től
- Vége az ajánlott áron árult GeForce-oknak?
- Mikrotik routerek
- Milyen billentyűzetet vegyek?
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Sorozatok
- További aktív témák...
- iPhone 13 mini Blue 128gb
- Samsung AU7022 65 Smart TV 4K Ultra HD LED hibátlan, dobozával
- 8 DARAB (Január 28.) DELL Latitude Laptop Tartós-Golyóálló-AKÁR SULIBA 7320 7430 7440 5320 5410 5420
- HP HyperX Cloud Blue Playstation Bolti ár:17k INGYEN FOXPOST
- Szinte Új HYPERX Cloud II metál gaming headset Bolti ár:33k INGYEN FOXPOST
- Beszámítás! MSI Thin A15 B7VE FHD Gamer notebook - R5 7535HS 16GB DDR5 512GB SSD RTX 4050 6GB W11
- Apple iPhone 12 Mini / 256GB / Kártyafüggetlen / 12Hó Garancia / Akku: 89%
- GYÖNYÖRŰ iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA -Kártyafüggetlen, MS3893
- Sanyo akkutöltő + 2 használható akku
- ÚJ akksi! GigaAKCIÓ! Lenovo ThinkPad P15 Gen 2 Intel i7-11850H 32GB 512GB Nvidia RTX A4000 1 év gar
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

