Hirdetés
- Tanúsítvány árulta el az Oppo Find N6 töltését, jöhet a műholdas változat is
- Geekbench-en bukkant fel a OnePlus Nord 6: Snapdragon 8s Gen 4 és Android 16
- Tekintélyes kamerasziget kerül az Oppo Find X9 Ultra hátuljára
- Kézikonzol móddal támad a Realme legújabb gamer mobilja
- Bődületes méretű akkuval már az MWC-n megjön a Magic V6
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Google Pixel topik
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Három operációs rendszert kínál a NexPhone
- iPhone topik
- Xiaomi 14T Pro - teljes a család?
- Milyen okostelefont vegyek?
- Megjöttek Magyarországra a Redmi Note 15-ök, január 22-től ennyiért kaphatók
-
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
- Ipad mini 4 - 64 GB + Tok + Fólia
- Dell Latitude E7270,12.5",HD,i5-6200U,8GB DDR4,128GB SSD,WIN11
- Apple iPhone 13 Mini 128GB, Kártyafüggetlen, 1 Év Garanciával
- T14 Gen1 14" FHD IPS érintő Ryzen 5 PRO 4650U 16GB 256GB NVMe ujjolv IR kam gar
- Dell Latitude E7270,12.5",FHD,i7-6600U,8GB DDR4,256GB SSD,WIN11
- Új HP Victus 16 FHD IPS 144Hz Ryzen7 8845HS 16GB 1TB SSD Radeon 780M+Nvidia RTX4060 8GB W11 Garancia
- LG 32GS94UX - 32" OLED / UHD 4K / 240Hz - 480Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- BESZÁMÍTÁS! LENOVO ThinkPad P15 Gen2 munkaállomás - i7 11800H 16GB DDR4 512GB SSD Quadro T1200 4GB W
- LG 27UL500P-W - 27" IPS - 3840x2160 4K - 60Hz 5ms - HDR10 - AMD FreeSync - 300 Nits - sRGB 99%
- KÉSZLETKISÖPRÉSI KARÁCSONYI ULTRAAKCIÓ! - MacBook Air M4 16GB 512GB Garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



