Hirdetés
- Magisk
- iPhone topik
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Külföldi prepaid SIM-ek itthon
- Örömkönnyek és üres kezek a TriFold startjánál
- Poco F7 – bajnokesélyes
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Android szakmai topik
-
Mobilarena
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
-
Karma
félisten
Nem véletlenül írtam privátot, hogy kifejtem bővebben

No de (hahaha), akkor következzen egy egyszerű példa a te feladatodra. Egy plusz modul kell hozzá, a when. Ott kezdődik a dolog, hogy a requestből készíteni kell egy olyan változatot, ami callback függvény helyett egy ígérettel tér vissza.
(Az ígéret egy olyan objektum, ami majd valamikor a jövőben fog kiértékelődni, vagy sikeresen, vagy nem. Mindkét ágra fel lehet iratkozni külön, és ha láncba fűzi őket az ember, akkor úgy viselkedik, mint a rendes függvényhívások - az eredmények lépésről lépésre átpasszolódnak, a hiba meg az egészet megszakítja.)
Szóval a request függvényt be kell foglalni (ezt csinálja a requestP függvény), utána mehet a lényeg. Bátorkodtam kicsit egyszerűsíteni a kigyűjtésen, ha már van a cheerionak is map függvénye.
var when = require('when'),
cheerio = require('cheerio'),
request = require('request');
function requestP(url) {
return when.promise(function (resolve, reject) {
request(url, function (err, res, body) {
if (err) {
return reject(err);
} else if (res.statusCode !== 200) {
err = new Error("Unexpected status code: " + res.statusCode);
err.res = res;
return reject(err);
}
resolve(body);
});
});
}
requestP('https://news.ycombinator.com')
.then(function (html) {
var $ = cheerio.load(html);
return $('span.comhead').map(function (i, element) {
return $(element).prev();
});
})
.then(function (articles) {
console.log(articles);
})
.catch(console.error);
Új hozzászólás Aktív témák
- Pánik a memóriapiacon
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- GL.iNet Flint 2 (GL-MT6000) router
- Magisk
- Mesébe illő csodakábelt tervezett a GeForce-ok leégése ellen a Segotep?
- Milyen billentyűzetet vegyek?
- Amazon
- PlayStation 5
- További aktív témák...
- Bomba ár! Lenovo Yoga 460 - i5-G6 I 8GB I 128GB SSD I 14" FHD Touch I HDMI I Cam I W10 I Gari!
- Telenor 5G Indoor WiFi Router (FA7550) + töltő
- 18 éve! Billentyűzet magyarítás magyarosítás. Festés vagy lézerezés és egyebek! 3 lehetőség is van.
- 2025.12.04 - Frissített Lenovo Gamer árlista (RTX 5090 / 4090 / 5080 / 4080 / 5070Ti / 4070 / 5060)
- Dupla Lencsés PTZ Biztonsági Kamera 2.4/5G Dual Band Wifi Kamera+128gb mermoria kártya
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



