Hirdetés
- GoodSpeed: Te hány éves vagy?
- Luck Dragon: Asszociációs játék. :)
- hcl: Amúgy mi a terv?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- mefistofeles: Érdekes történések a hardveraprón...2.
- sziku69: Fűzzük össze a szavakat :)
- BerserkGuts: 9800X3D Hitvallás, Dogma megcáfolása egy RTX5080+12600K-val
- sziku69: Szólánc.
- perge666: Egy korszak vége
- eBay-es kütyük kis pénzért
-
LOGOUT
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
- Kínai és egyéb olcsó órák topikja
- OnePlus 15 - van plusz energia
- TCL LCD és LED TV-k
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Mi az optikai internet és hogyan működik?
- ASUS routerek
- Kormányok / autós szimulátorok topikja
- Melyik tápegységet vegyem?
- Házimozi belépő szinten
- GoodSpeed: Te hány éves vagy?
- További aktív témák...
- Dell Latitude 5420/5430/5431/5440/7420/7430/7440 Magyar Világítós billentyűzet NTTG2
- Dell Precision 7550 RTX 5000 16G! / FHD / i7 / 32G / 512G / IR HU WS tervező
- Kihagyhatatlan ajánlat! Lenovo ThinkPad P14s Gen 5 Ultra 7 165H (vPro) 32gb DDR5 ram RTX500 ADA 3K
- Egyedi PC összerakás - személyre szabva
- Egyedi PC összerakás - személyre szabva
- Eladó Pegatron R7 240 4GB videokártya
- Keresek Xbox Series S / Series X / Playstation 5 konzolokat
- Bomba ár! Lenovo ThinkPad X280 - i7-8550U I 16GB I 512SSD I 12,5" I HDMI I Cam I W11 I Gari!
- GYÁRI TÖLTŐK Macbook Magsafe 1 és 2 Budapest,/MPL/Foxpost
- LG 34GS95UE - 34" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


