-
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
- Xiaomi 15T Pro - a téma nincs lezárva
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Gyúrósok ide!
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Xbox Series X|S
- Tőzsde és gazdaság
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Robotporszívók
- Modding és elektronikai kérdések
- Túl jól fogy az S26, túlóráznia kell a gyártósoroknak
- További aktív témák...
- Eladó AKG Ara, dupla kapszulás mikrofon! Bontatlan, garanciás! Több darab is elérhető!
- Logitech Superstrike x2
- D-link 16 és 24 portos, sima és POE, gigabites managelhető switchek
- Gigabyte H510M PRO-E alaplap + Intel Core i5 10400F CPU (+ram, táp, vga igény szerint)
- Új Dobozos Lenovo Thinkpad P14s G5 Workstation Laptop 14,5"-60% Ultra 7 165H 32/512 RTX 500 3K 120Hz
- Azonnali készpénzes INTEL CPU NVIDIA VGA számítógép felvásárlás személyesen / postával korrekt áron
- AKCIÓ! Gigabyte Z790 i7 14700KF 64GB DDR5 1TB SSD RTX 5070Ti 16GB LIAN LI LANCOOL 207 850W
- 27% - GIGABYTE RX 7800 XT GAMING OC 16G Videokártya
- Samsung PM9E1 "9100 PRO" 2TB M.2 NVME Gen5 x4 SSD! 14.000-12.500MB/s
- Részletre BankMentes ASUS ROG Zephyrus G16 (2025) GU605CR QR110W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
