- Milyen belső merevlemezt vegyek?
- Kormányok / autós szimulátorok topikja
- AMD Navi Radeon™ RX 9xxx sorozat
- Azonnali fotós kérdések órája
- Apple MacBook
- Milyen processzort vegyek?
- Épített vízhűtés (nem kompakt) topic
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Soundbar, soundplate, hangprojektor
- Tavaszi hardvernyitány
-
PROHARDVER!
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
- Milyen belső merevlemezt vegyek?
- Azonnali fáradt gőzös kérdések órája
- Tidal
- Xiaomi 17 Ultra - jó az optikája
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Kormányok / autós szimulátorok topikja
- Diablo IV
- Konzol Screenshot
- Hosszú premier előzetest kapott az Arknights: Endfield
- One mobilszolgáltatások
- További aktív témák...
- AKCIÓ! Asus ROG Strix B450F R5 5600 32GB DDR4 512GB SSD RTX 2070 Super 8GB Zalman S2 TG TT 650W
- Eladó újszerű Redmi Note 14 Pro 5G 8/256GB levendula / 12 hónap jótállás
- LG 34GX90SA - 34" Ívelt Smart OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / FreeSync
- HIBÁTLAN iPhone 13 128GB Green-1 ÉV GARANCIA - Kártyafüggetlen, MS4347
- 227 - Lenovo LOQ (15IRX10) - Intel Core i7-13650HX, RTX 5060
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



