-
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
- HiFi műszaki szemmel - sztereó hangrendszerek
- Formula-1
- Home server / házi szerver építése
- Mibe tegyem a megtakarításaimat?
- Villanyszerelés
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen billentyűzetet vegyek?
- Szünetmentes tápegységek (UPS)
- Windows 10
- Elkezdtek szállingózni az Arctic P Pro sorozatú ventilátorai
- További aktív témák...
- Lenovo ThinkPad L590 / Intel CORE i5 / 8gb ram / 256gb SSD / FHD kijelző / Windows 11
- Lenovo Yoga 370 szép állapotú 24 hónap jótállás
- HIBÁTLAN iPhone 14 256GB Midnight - 1 ÉV GARANCIA - Kártyafüggetlen, MS2290, 92% Akkumulátor
- Samsung Galaxy A53 5G - 128 GB - fekete - (130)
- HIBÁTLAN iPhone 14 256GB Midnight - 1 ÉV GARANCIA - Kártyafüggetlen, MS2289, 90% Akkumulátor
- BESZÁMÍTÁS! 32GB (2x16GB) Kingston FURY Beast RGB 6000MHz DDR5 CL30 memória 27% 3 év garancia
- BESZÁMÍTÁS! HP Victus 16-D0655NG notebook - i5 10400H 16GB DDR4 512GB+1TB SSD RTX 3060 6GB WIN10
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Lenovo Legion 5 15ITH6H Gamer notebook - i7 11800H 16GB DDR4 512GB SSD RTX 3060 6GB W11
- Csere-Beszámítás! Playstation 5 Slim Digital edition! OLVASS!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest