Hirdetés
- iPhone topik
- A piac legerősebb kameráját ígéri a Xiaomi 17 Ultra
- Xiaomi 14T - nem baj, hogy nem Pro
- Milyen okostelefont vegyek?
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Így változik a Galaxy A37 és A57 kamerája
- Fotók, videók mobillal
- Az 5 legnagyobb bénázás a mobilpiacon idén
- Honor Magic V5 - méret a kamera mögött
- One mobilszolgáltatások
-
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
-
dqdb
nagyúr
válasz
Mr Dini
#6321
üzenetére
Széllel szemben nehéz lesz
![;]](//cdn.rios.hu/dl/s/v1.gif)
Az egész Node.js éppen az aszinkron működésre épít, így minden esetben, amikor nem aktívan dolgozol, hanem valami erőforrásra vagy eseményre vársz, legyen az hálózatról adat lekérése, fájl írása* vagy adatbázis-művelet, mindig egy callbackben kapod meg a végeredményt. Ennek az az oka, hogy a szinkron várakozás blokkol egy feldolgozószálat, és csökken a szerver feldolgozási képessége, míg aszinkron esetben az adott szál lazsálás helyett értelmes munkára is befogható, vagyis egy másik kérés feldolgozására. Most mondhatod, hogy de te ezt nem kérted, azonban azzal, hogy a Node.js alapon álltál neki, pont egy aszinkron, threadpool alapú hatékonyan skálázódó platformra esett a választásod, így vagy megszoksz, vagy megszöksz ...
Kókányolni
szerencséresajnos minden platformon lehet, így itt is, és valószínűleg ezt keresed (nem használtam soha, keresés dobta ki). De itt sem nem véletlenül kezdődik a leírás a Githubon elérhető legnagyobb betűméretű bekezdéssel, hogy miért ne használd ezt a libraryt.viszont gondolom node js-nél a CORS miatt nem megy
A CORS böngésző szintjén értelmezhető csak. A Node.js azért nem támogatja az XHR-t, mert saját API-ja van, nem a böngésző DOM modelljét másolja.* ebből kivételesen létezik szinkron API is, de ennek ellenére a aszinkron felület felé terelnek a hivatalos dokumentációban:
"In busy processes, the programmer is strongly encouraged to use the asynchronous versions of these calls."
-
Jim-Y
veterán
válasz
Mr Dini
#6321
üzenetére
De ezt nem tudod megcsinalni, mert az asynchronous non-blocking I/O ahogy a javascriptet illetni szoktak lenyege pont az, hogy az async operationok nem blokkoljak a vegrehajtasi szalat. Magyaran, beallithatod te az XHR-t szinkronra, hogy amikor az mondod, hogy getPage(xyz) akkor az eredmeny rogton a DATA-ban legyen, de akkor az egesz javascript/nodejs filozofialval szembe mesz es amugy is ilyet nem csinalunk. Nem veletlenul minden async... Tenyleg javaslom hogy olvasgass kcsit a temaban, mert ugy tunik, hogy nem erted kristaly tisztan hogy hogy is mukodik a javascriptben az async.
Magyarazat:
a getPage belul egy requestet hasznal ami egy http keres lesz egy szerverre, amig erre a http keresre nem erkezik valasz addig NEM SZABAD blokkolni a stacket mert a javascript egy vegrehajtasi szallal (egy stackel) rendelkezik es minden UI is ezen "fut". Ha te egy szinkron kerest csinalsz, mint amit pont most szeretnel elerni akkor egez addig amig a tavoli szerver vissza nem ter addig SEMMIT sem tudnak a felhasznalok csinalni az oldaladon. Mondanom sem kell, hogy ez az egyik legnagyobb antipattern. Helyette aszinkron kell a tavoli szerver kerest kezelni. Vagyis... elinditod a kerest, majd rogton "visszaadod a vezerlest a fo szalnak" persze javascript eseten nincs ertelme ennek a mondatnak de igy konnyebb elkepzelni. Ami tenylegesen tortenik az az hogy amikor elinditasz egy requestet akkor a webapi regisztral egy callbacket amit tcp socket valasz eredmenyevel fog meghivni. Promiszok eseten a callback egy rezolvalt promis lesz.
Új hozzászólás Aktív témák
- Inno3D GeForce RTX 4070 Ti X3 12G - Karácsonyi akcióban!
- Redragon Kumara K552 RGB Brown Switch magyar billentyűzet
- Lenovo Thinkpad P1 Gen 6 - i9-13980HX, 32GB, 2TB SSD, 16" WQUXGA (3840 2400), RTX 4090
- 15.gen! Intel Core Ultra 9 285K +16-32GB DDR5 RAM +hűtött VRM-es Z890 lap! GAR/SZÁMLA (a Te nevedre)
- OP AudioCodes C450HD Ip Phones - Szines kijelzős - Teams/ Zoom telefon - Új dobozos
- iPhone 15 Pro 128GB 100% (1év Garancia)
- Lenovo P500 - 1650-2690 v3 akár 12 mag/24 szál, 16-32GB DDR4 RAM, 490W 80+gold táp, számla, 6 hó gar
- Telefon felvásárlás!! Samsung Galaxy S25, Samsung Galaxy S25 Plus, Samsung Galaxy S25 Ultra
- HIBÁTLAN iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3846
- LG 27MR400 - 27" IPS LED - 1920x1080 FHD - 100hz 5ms - AMD FreeSync - Villódzásmentes
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
![;]](http://cdn.rios.hu/dl/s/v1.gif)


