>> Allura, ma 'dak li qal,
biss it-tip ta 'sempliċi introduzzjoni għal prototipi
u l-mudell oġġett JavaScript.
Aħna mhux se shift gerijiet ftit biex jitkellmu
madwar aktar JavaScript fuq il- server u l-Librerija Librerija
u l-konnessjoni Knex Librerija.
Allura, inti tista 'attwalment biss -
jekk inti tfittex għal Bookshelf.js għandu jkun pjuttost faċli
biex isibu, għandu jkun l-ewwel riżultat, u Librerija
bħala David issemma biss tagħti ħafna struttura
madwar JavaScript oġġetti u jaħdmu magħhom relationally
fid-databases relazzjonali.
Allura, ħafna karatteristiċi simili li attwalment ħafna ispirati
billi ORM Laravel bħala ukoll il-Backbone.js,
li huwa tarf ta 'quddiem MVC librerija li jippermettilek
għall-istruttura kodiċi tiegħek, simili għal dak I kien juri
ma 'l-eżempji tal- prototipi fejn inti tista '-
minflok biss arbitrarju jitfg klassijiet
dwar il-fehmiet tiegħek hawn u hemm.
Dan jagħtik mudelli u kollezzjonijiet ta 'dawk il-mudelli
li huma mistennija li jaġixxu bħala tip ta 'punt uniku tal-verità
dwar id-data għall- applikazzjoni tiegħek.
U allura inti tisma ', bħal dawk bidliet mudelli, inti tgħidli, OK,
jerġgħu jirrendu din it-template hawn u dan wieħed hawn fuq
u mhux biss żid klassi hawn, żid klassi hemm u tip ta 'pick
fuq seletturi u jagħmlu l- spiderweb tal-kodiċi jQuery.
Hija tagħti aktar ta 'bbażati fuq il-klassi struttura għal biċċiet individwali,
iżda komponent importanti ta ' li librerija huwa l-mudelli
li għandhom struttura simili għal dak mudelli Librerija do.
Għalhekk, jekk int familjari ma 'l- Librerija int pretty ukoll
pretty familjari ma Backbone.js mudelli,
u jien nirrakkomanda tieħu ħarsa lejn din.
Għalhekk, xi wħud mill-karatteristiċi ewlenin
li tagħtik huma biss l- abbiltà li jiġu stabbiliti data fuq oġġett
li jsejħu jġibu, li prospetti rekord individwali
mid-database, joħolqu relazzjonijiet bħala simili
għal dak li inti trattati ġewwa fil Laravel
fejn inti tista 'tgħid pazjent stabbilit metodu rekord
u ngħid dan rebaħ rekord
fejn l-oġġett rekord rekords tas-saħħa isem tabella.
Ejja ara.
Għandha ħafna - li tappartjeni għall -
biss Jittieħed li int pjuttost simili -
pretty familjari ma diġà, iżda fl JavaScript.
U taħt il-barnuża, għall-Librerija,
hija tuża bennej query imsejħa Knex.js.
Allura, li Knex, knexjs.org.
Huwa referenza għall-ġugarell jekk ħadd qatt lagħbu din.
Iżda tippermetti li inti - fi moda simili, għal jQuery,
inti biss tip ta toħloq katina ta 'metodi differenti
li int ssejjaħ fuq tiegħek ringiela database sabiex inti tista '-
bdejt billi qal Knex u l-isem tabella.
Għalhekk, per eżempju, l-utenti Knex, jagħżlu liema kolonni tixtieq,
fejn, u jkollhom meta differenti conditionals u inti jista 'jkollhom
U fejn, jew fejn, fejn bejn, fejn mhux,
inti issa, il-linja.
Tista 'tispeċifika differenti tingħaqad bejn tabelli database tiegħek
li Librerija juża internament li twaqqaf tip ta 'magic
madwar il-hasOne, hasMany, belongsTo, belongsToMany.
U għalhekk il-kombinazzjoni
tat-tnejn tavżak tagħmel pretty kemm dak youd jintużaw
fil-qafas bħal Laravel f'termini
ta 'funzjonalità jaħdmu ma 'databases.
Allura, ejja imorru quddiem u tieħu ħarsa lejn eżempju sempliċi
għal app Express li jagħmel użu ta 'dawn il-mudelli
u kollezzjonijiet ta ' Jazz Librerija [fonetiku].
Allura, stajt stabbilit biss applikazzjoni sempliċi hawn.
I imqaxxar out xi wħud mill-għalf li kienet initializing express
u jimxu li fi Iniz direttorju li I maħluqa.
Waħda mill-affarijiet sbieħ dwar ħidma ma Express kif suppost
li Laravel hija li hemm verament mhux wisq infurzati
fuqek conventionalized.
Allura inti tista 'toħloq direttorji -
ma verament jagħtuk lott kollu biex jaħdmu off ta '.
You ħadthom ltqajna biss tip ta 'xi settings bażiċi u mbagħad -
iżda ma 'kura fejn inti tpoġġi lilhom.
Inti ma għandhomx għalfejn ikollhom direttorju kontrollur.
Inti ma għandekx bżonn li jkollhom mudelli direttorju, direttorju konfigurazzjoni.
Tista 'tip ta' joħloq dawk il-bżonnijiet tal-proġett tiegħek
u l-affarijiet l-mod li jagħmel sens aktar għalik.
Allura minflok li kollha dan boilerplate express
fil-app.js ewlenin I biss qal ugwali app jeħtieġu Iniz / express.
U hekk fil-Iniz,
il-folder initializing I biss jkollhom espressa hawn,
u dan jeħtieġ Express, sejħiet , il-funzjoni setup jitlob l -
jistabbilixxi l-magna fehma, Parser JSON, dak kollu.
Allura issa, ejja tkompli isfel.
Hekk jien jeħtieġu l- laqgħa instructor kors
u rekwiżiti mudelli.
Allura dawn huma fil-folder li I biss iddeċieda li mudelli isem.
Ma għandhom ikunu li mod madankollu jagħmel sens,
iżda mudelli huwa biss pretty komuni so I jirrakkomanda dan.
Imma - Mela ejja go għall-kors.
I think jien jużaw - yeah, u l-eżempji
stabbiliti hawn huma bbażati kollha madwar il-mudell kors.
Mela ejja ħu ħarsa lejn dak.
Allura, issa, ftit tal- ewwel linja ta 'dan il-mudell,
Jien diġà jeħtieġu xi ħaġa oħra.
Mela jekk inti taf avviż fil node inti għandek tkun teħtieġ
jew int ser jispiċċaw jeħtieġu mazz sħiħ
fajls ta 'differenti li jinsabu
f'postijiet differenti fl-applikazzjoni tiegħek.
U l-mogħdijiet relattivi li fejn int
fl-applikazzjoni attwali tiegħek,
sakemm ma tkunx ogħla livell diġà definit bħal fil inti tinstallahom
ma MPM bħal Librerija jew Knex jew Express jew xi ħaġa,
dawn mhumiex relattiva.
Iva? Zoom aktar?
OK. OK. Allura, int ser tispiċċa jeħtieġu mazz sħiħ
fajls ta 'ftit differenti fil tiegħek kodiċi, li hija tajba u ħżiena.
B'mod tajjeb inti taf fejn affarijiet huma u mhuwiex tip
ta magic dwar x'hemm għaddej taħt il-barnuża,
li tista 'verament tkun konfuża
meta jkollok ħafna heavy Java -
jew qafas tqil ħafna bħal Laravel, liema tip ta 'tgħid,
aħna qed tmur biex jieħu kura ta 'dan sabiex inti ma għandekx
jeħtieġu kollox iżda inti għandek
tkun taf kif kollox jaħdem sabiex jużawh.
Fejn bħal f'dan il-każ, huwa sempliċi ħafna li
fejn kollox huwa, dawn qed biss truf
jkun ta 'ftit aktar ittajpjar.
Hekk kif fil-ġenb I simili għall-użu, hemm plugin
jekk tuża test blind
fejn tista 'tistalla l-node moduli helper u inti tista 'tibda
tip bħal Istruttur u din toħloq il-passaġġ relattiva
fejn inti għal dak kodiċi fajl, it-tip ta utli.
Għalhekk, il-mudell kors huwa jeħtieġu bażi hawn
u mbagħad bażi intern teħtieġ Iniz / librerija
u allura l-Librerija, huwa jeħtieġ li l-Librerija ogħla livell
u mbagħad initializes ma l-istanza Knex initialized,
li jistabbilixxi l-isem tal-klijent
u l-konnessjoni settings għall-database.
Hekk jien biss bl-użu sempliċi każ ta 'Sequel Pro li -
ta 'MySQL, jien jaċċedi għaliha ma Sequel Pro u għandu biss tip
ta 'database simili setup kemm kellna
fl-ewwel applikazzjoni tal-kampjun mal-katalogu tal-kors.
So, I sett konnessjoni tiegħi settings hawn,
u dawn huma kollha dokumentati fuq il-paġna tal-proġett Knex.js
dwar kif setup dawn il-konnessjonijiet.
So, I issa għandhom bażi tal-mudell tiegħi.
U kif semmejt ma il-bidla prototip,
hekk li jista 'effettivament jkun it-tip ta 'lott li -
żżid ħafna ta boilerplate għall-kodiċi tiegħek sabiex konvenzjoni
li jkun ġie adattat billi Backbone.js
u issa Bookshelf.js huwa li żżid dan il-metodu jestendu
bħala proprjetà statika fuq JavaScript oġġetti tiegħek,
li jagħtiha tip ta 'kważi natura abbażi tal-klassi wirt
fejn jekk inti sejħa jestendu inti tista 'twaqqaf kwalunkwe
mill-metodi prototip li tixtieq hawnhekk
u allura inti tista '- xi metodi statiċi żejda
li inti tista 'tixtieq, int tista 'biss jistabbilixxu lilhom infuskom
hawn hekk I tista 'testendi dan ma '- hekk jekk per eżempju,
mudelli multipli meħtieġa Isem Wiri u dan jiksbu l-isem.
Allura, hawn, jien qal il- isem wiri għall-mudell
kontumaċja hija minkejja dak li proprjetà inkella ritorn
ebda isem.
U issa fuq kull mudell li huwa -
li testendi dan il-mudell bażi, I issa jkollhom metodu isem display
fuq il-prototip katina x'imkien.
U jekk irrid li jissostitwixxu dan I tista 'biss sett it - tistabbilixxi dak -
getname ikun hawn.
U li jippermettilek li jimitaw wirt klassiku
fl JavaScript, li jistgħu jkunu sbieħ partikolari għall-affarijiet
li jipprestaw ruħhom qed klassi bbażati bħal mudelli oġġett.
Mela ejja jaqbżu lura fis il-kodiċi applikazzjoni.
Hekk stajt ltqajna rotta għal ftit mmejla, biss għall-indiċi tiegħi
u mbagħad mmejla korsijiet.
U kemm ta 'dawn qed jitolbu il-metodu renderCourses.
Għalhekk għal darb'oħra, il-funzjonijiet huma ewwel klassi u tista 'tiġi mgħoddija
bħala argumenti metodi.
Għalhekk, f'dan app.get, Jien ssejjaħ -
Jien tgħaddi renderCourses bħala l-argument.
U jirrendi - jew funzjonijiet jista 'jkun setup simili var -
I kif kien isir var qabel renderCourses ugwali funzjoni
jew jistgħu jkunu biss renderCourses funzjoni.
Huwa ma jagħmel wisq ħafna ta 'differenza.
Inti tista 'attwalment ikollhom dak huma msejħa funzjoni isem
espressjonijiet, li huma renderCourses var ugwali
renderCourses funzjoni.
U, ir-raġuni li jixtiequ li jkollhom isem funzjonijiet partikolarment
fil node huwa li jagħtik cleaner -
traċċa munzell aktar leġġibbli.
Mela jekk għandek mazz sħiħ
tal-funzjonijiet anonimi se ngħid -
meta jkollok żball fil-kodiċi you'll tiegħek -
inti mhux se tkun taf liema funzjoni huwa ssejjaħ youd għandek tfittex
fil-numru tal-kodiċi u n-numru linja
u huwa kultant aktar faċli biss biex viżwalment parse
meta inti attwalment ikollhom ismijiet
għall-funzjonijiet ruħhom fuq in-naħa server.
Allura dan renderCourses, ejja sejħa apps node -
hekk jien nisma fuq Core 3000 [fonetiku].
U hekk dan kollu qed tagħmel id-dritt hawnhekk huwa biss jkollna l-
korsijiet mid-database.
Jien lanqas jillimitawh għalhekk qed jagħmel numru kbir
ta 'ringieli huwa jirritorna.
U sabiex tagħmel dan,
fuq il-mudell Naturalment hemm hija proprjetà statiku
imsejħa ġbir.
U so I biss sejħa hija - I qal toħloq kollezzjoni ġdida
għal dan il-kors, u mbagħad jġibu dan,
u mbagħad jirritornaw l-korsijiet ġbir hawn fil-wegħda.
Allura internament, David fil - il- aħħar nofs mgħallma ftit
dwar wegħdiet u l-wegħdiet huma użati ħafna ħafna kemm Knex
u Librerija minħabba tippresta l -
li tagħtik l- abbiltà li jkollhom mazz
jitlob mhux sinkroniku ta differenti u tip ta 'jingħaqdu mbagħad flimkien
jew jġibu xi ħaġa, u mbagħad
ma 'dak sejħa oħra sejħa database mhux sinkroniku
u r-ritorn li l-valur u imbagħad jaqbżu għall-ieħor imbagħad
u li jmiss mbagħad u mbagħad ikollhom qabda fl-aħħar nett biex issolvi
tal jimitaw qabda jipprova mhux sinkroniku imġieba bil-kodiċi mhux sinkroniku,
għaliex int tara issa
imma hija saħansitra aktar diffiċli ladarba tibda biex jittrattaw dan.
Kodiċi mhux sinkroniku huwa biss kullimkien
fil-ġenb server JavaScript u verament għal grad ferm akbar
milli int użati biex jekk inti ghamilt JavaScript
fuq in-naħa tal-klijent.
Allura li tassew, tassew għenu inti hemmhekk.
Iżda biss biex turi li inti id-dikjarazzjoni debugger
li kien I jitkellem dwar fil l-għodod ispettur node,
Jien ser jimxi 'l quddiem u tarmi linja debugger hawn
fil-funzjoni renderCourses u ara fejn dan iwassalni
meta I - so node ispettur jista 'jiġi installat
billi tagħmel NPM Installa b'bandiera G,
li jfisser Global Spettur Node.
U dan ser iġib għal NMP u tinstallahom globalment
għall-applikazzjonijiet tiegħek sabiex inti tista 'biss sejħa hija
mil-linja tal-kmand.
Stajt diġà installat hekk I ser imorru quddiem u -
attwalment hija jista 'jkollha tistenna li ser ħu,
tieħu żewġ sekondi.
U dak node ispettur darb'oħra jippermettilek
tagħmel hu li jkollhom din headless verżjoni tal-debugger console
li int użati biex meta jkunu qed jaħdmu fuq in-naħa tal-klijent u jkunu jistgħu
biex tieqaf, żid ftit speċifikat punti fil-kodiċi tiegħek.
Waqqaf l-eżekuzzjoni u tieħu tħares lejn dak li għaddej,
li jkollha tassew jidħlu fil handy jekk il-karatteristika
bħal dawk li kienu disponibbli
meta debugging tiegħek Kodiċi PHP jien ċert.
Mela ejja ħu ħarsa lejn dak.
So I tista 'biss sejħa ispettur node
u inneħħu jgħidu żur dan il-URL port 5858 li tibda debugging,
li jinsab biss l-default għal kemm jibda up.
So, I issa stajt ltqajna - hemm xejn jiġri hawn fuq
minħabba I bżonn biex tibda.
[Fonetiku] impasse hekk node l- bandiera debug u mbagħad app.js.
Hekk jgħid debugger nisma fuq il-port 5858,
Server smigħ Express fuq 3000.
Allura aħna qed imorru tajjeb.
Let me biss jġedded dan.
U issa I tista 'tara l-app.js kodiċi li I kien biss tħares lejn
iżda hawnhekk fil-console.
Allura issa, jekk I tipprova tmexxi dan, inti tista 'tara dan, huwa obbligat jieqfu.
Huwa ftit stennija minħabba tagħha eżekuzzjoni kodiċi kollu issa huwa
waqfet fuq dan debugger linja li stajt jitqiegħdu fil hemmhekk.
U nista 'issa server -
[Rimarka inaudible]
Oh, yeah. X'inhu l-keyword shortcut li zoom iskrin?
Oh hemm.
Ltqajna. OK.
[Pause]
Oh, huwa ma tfittex [Fonetiku] li.
Għalhekk, korsijiet huwa verament big
għaliex jien ma nagħmilx a jillimitaw klawsola jew xejn,
huwa biss jġibu l- database kollu ta 'korsijiet
li ħafna minnhom.
U hekk - li huwa oġġett
li fil-fatt tista 'tiġrifa l-ispettur istanza nota.
It's - OK.
Let me do limitu u allura nistgħu tagħti ħarsa
meta huwa ma fetching mijiet ta 'korsijiet.
Għalhekk, joqtlu l-server u ispettur
u jien ser tagħmel kors limitu query ġbir 20.
Għalhekk, fil-Librerija, b'differenza Laravel
fejn inti tista 'biss sejħa jillimitaw direttament jew sejħa kwalunkwe
ta 'dawn il-metodi SQL li tuża
direttament fuq l-istanza ORM.
Ghaċ li inti qed tuża biss Metodu SQL li hija provduta
fil Knex, inti għandek sejħa tal-query biex issolvi
tal sfruttat il-katina query.
U dan jista 'jiġi invokat jew ma 'funzjoni,
sabiex inti tista 'tgħid, il-funzjoni dan il-limitu 10 jew inti sejħa hija
billi tispeċifika li metodu inti tixtieq li sejħa
fuq l-istanza Knex u mbagħad li l-valur.
Allura aħna qed tmur biex tagħmel jillimitaw 20 u mbagħad stabbiliti.
Aħna fil-fatt ma bżonn debugger hawn
għaliex nistgħu biss stabbiliti breakpoints
u li jagħmilha aktar faċli.
Kull dritt.
Allura, ejja tistabbilixxi breakpoint dritt hawn u jippruvaw tagħbija.
Linja żbaljata.
Dritt hawn.
[Pause]
OK. Għalhekk hija waqfet mill-ġdid.
Allura issa, korsijiet huwa toġġezzjona bil b'tul ta '20
u nistgħu tara l-differenti mudelli li huwa fetched
mid-database dritt hawn hekk stajt ltqajna mudell oġġett
li għandha, ġewwa l- attributi proprjetà
fuq l-oġġett huma l-affarijiet kollha li huwa jinstabu fid-database.
Kwalunkwe avvenimenti li għandhom ġiet irreġistrata
sabiex inti tista 'tirreġistra avvenimenti differenti,
per eżempju meta l- mudell qed jiġi mħassar
jew meta huwa jkun fetched,
inti tista 'tistabbilixxi differenti proprjetajiet jew timmodifika affarijiet.
Hemm ħafna ta 'snanar differenti u dawn huma kollha dokumentati
fil-Bookshelf.js dokumentazzjoni li jippermettu li inti
tagħmel tip ta 'xejn li int verament trid tagħmel
ma 'mudelli tiegħek u kollezzjonijiet.
Tista '- dawn qed maħsuba biex ikunu verament customizable
u verament faċli għall- inti tadattahom
għall-ħtiġijiet tal tiegħek applikazzjoni.
Iżda biss tfittex permezz ta 'hawn,
I tista 'tara x'inhuma l-differenti korsijiet huma disponibbli.
U f'dan il-każ, I attwalment ma jġibu
ma 'kwalunkwe data oħra għajr biss il-korsijiet nfushom.
Iżda fil-moda simili għal l-ORM elokwenti inti tista 'tistabbilixxi
relazzjonijiet, sabiex il-kors jappartjeni għal instructor ħafna.
Għalhekk, jekk I jimxi 'l quddiem u twaqqaf l-applikazzjoni,
jaqbżu dan jġibu sejħa, inti tista 'tispeċifika għażliet differenti
li tixtieq jgħaddu tul għaliha.
U wieħed minnhom huwa l- abbiltà li tagħbija kodiċi relatati
billi tispeċifika withRelated instructors mbagħad korsijiet.
Mela ejja mur lura u frisk dan hawn u tieqaf mill-ġdid.
Allura issa, il-korsijiet joġġezzjonaw, istess numru ta 'mudelli,
iżda issa kull mudell għandha hash relazzjonijiet
li għandha l-instructors li huwa relatat ma.
Allura dan il-kors per eżempju
li hija naturalment 082 għandha żewġ mudelli istruttur relatati.
U inti tista 'diġà tara kif ħafna aktar faċli dan huwa biex issolvi
tal viżwalment jaħdmu ma minn meta int jittrattaw Jittieħed
li inti tip ta 'tibdel il-kodiċi u mbagħad tipprova mill-ġdid fil-PHP.
Il-fatt li inti tista 'biss stop eżekuzzjoni kollox
u tevalwa x'hemm hawn u l - fil-console, il -
zoom out, korsijiet hija, inti taf,
dak li l-ambitu lokali varjabbli huma disponibbli
u bħalissa dan huwa l-globali oġġett għaliex kif inti raw dan,
sakemm inti sejħa bil- kuntest speċifiku, mhuwiex ser
li jkollhom xi ħaġa rilevanti hawnhekk.
U mbagħad, il - let me juru ftit eżempji aktar
implimentazzjoni wegħdiet.
Allura minflok tagħmel dan instructors withRelated hawn jien
se jimxi 'l quddiem u jimxu dan li jġibu u allura l-korsijiet,
Jien ser jirritorna instructors courses.load.
U mbagħad - imbagħad inti sejħa imbagħad.
[Pause]
Mela allura f'dan il-punt, il- korsijiet għandhom ikunu mgħobbija
mal-instructors, li hija azzjoni mhux sinkroniku.
Iżda għaliex aħna qed jirritornaha minn wegħda, il-valur li jmiss
għall allura huwa kwalunkwe dan prospetti sejħa mhux sinkroniku
li f'dan il-każ it-tagħbija huwa metodu fil-Librerija
li attwalment prospetti il-ġbir innifsu.
Allura huwa tagħbija tal- instructors fuq hemm
u allura inti tista 'tispeċifika - jekk huwa wieħed biss proprjetà,
inti tista 'tispeċifika dan bħala string, inkella,
inti tista 'tagħmel instructors u rekwiżiti
bħala metodu - sorry, bħala firxa.
U mbagħad jekk inti tixtieq li tikseb verament fancy u jillimitaw kwalunkwe
minn dawn fetches mogħti, inti tista 'tispeċifika bħala hash
ma instructors u mbagħad dak inti tixtieq li jillimitaw l-mistoqsija fuq.
So, I tixtieq tagħbija kollha instructors fuq korsijiet fejn -
hekk QB għall-bennej mistoqsija fejn status hija attiva.
U tista 'tikseb verament fancy ma 'kwalunkwe
tal-mistoqsijiet relatati inti tixtieq li jibnu.
Iżda, biss għal issa, aħna qed tmur li jeħel mal biss instructors
u aħna qed jirritornaw valur
hekk allura l-li jmiss imbagħad għandu jkollhom il-korsijiet kollha mgħobbija
up kif suppost.
U jekk kien hemm żball fi kwalunkwe pass f'dik katina,
ikun jaqbżu l isfel għall-qabda.
Mela ejja imorru quddiem u run dan.
Allura kull darba - b'differenza PHP, tnaqqis wieħed huwa l-
"Għaliex node" huwa fit-tmexxija proċess, inti attwalment ħtieġa
biex iwaqqaf il-proċess node kif inti taġġorna kodiċi tiegħek,
minħabba li l-verżjoni li huwa li jibda fil-ħin run hija,
il-verżjoni tal- kodiċi li kienet mgħobbija
meta beda mhux dak li għandek sort
ta aġġornata kodiċi tiegħek ma minn dakinhar.
OK. Aħna ser tistabbilixxi breakpoint hawn, hawn u jġedded.
[Pause]
Oh, I attwalment ma jġedded din il-paġna jew
allura kien fuq il-proċess qodma.
Allura inti jġedded kemm dan u l-ispettur node.
Allura issa naraw korsijiet.
Jekk aħna ħu kampjun ta 'wieħed minn dawn il-mudelli,
nistgħu naraw li r-relazzjonijiet oġġett ikun vojt, iżda issa -
u r-raġuni li għandek bżonn li jiġu stabbiliti breakpoints hija, ukoll,
Semmejt li tista ' Mur fis-traċċa munzell
u ara inti taf, fejn li għaddej fil-app.
Allura issa I tista 'tara x'hemm jiġri fil-metodu tat-tagħbija,
li stajt definiti fuq il-kollezzjonijiet.
Hija tip ta '"tagħbijiet Ħerqana relazzjonijiet FUQ L diġà ".
U inti tista 'pass permezz u ara linja b'linja
fejn dan il-għalf huwa negozju avvjat, li hija kbira.
Jekk għandek xi ħaġa thats maqsuma fil-kodiċi tiegħek,
huwa jitfg xi żball u int simili, I really jixtiequ
biex tara fejn dan ikun għaddej.
Iżda hekk kif inti run fis mhux sinkroniku xi ħaġa, l -
tmur għall-ieħor immarka l-avveniment loop
u int ser jitilfu tiegħek - inti titlef il-post tiegħek
fl-ispettur node.
Għalhekk ikollok bżonn li jgħidu, "OK, ladarba I jitilfu dan,
jeħtieġ li tieqaf issa fuq din il-linja mill-ġdid. "
"Cause jekk I tinżamm laqtu isfel, l-munzell,
huwa jkollu eventwalment biss marret lil hinn kellhom I ma jistabbilixxu dan
linja 22 linja break blu.
Allura issa, jekk nħares fil-korsijiet hawn,
suppost fuq rigward instructors
u mbagħad ikollhom l- instructors jehmiżhom.
Allura, tista 'tara li I lura wegħda mill-ewwel wegħda
u allura inti tista 'kontinwament tagħmel li tistabbilixxi l-linja.
Allura l-wegħda differenti, wegħda libreriji,
I użati wieħed imsejjaħ Bluebird li huwa verament utli.
Hija żżid ħafna sbieħ ta 'dan għall-bdil mhux sinkroniku -
jinbidlu sejħa lura Kodiċi bażi fis Jittieħed
li taħdem sew mal-wegħdiet.
Imma - sorry [inaudible] dak I kienet se ngħid hemmhekk.
Ejja tagħti ħarsa għalkemm fil--
hekk ejja ngħidu li kien hemm problema meta fetching xi ħaġa.
So I jkollhom din ir-rotta oħra issib imsejħa kors ID.
Mela ejja jagħmlu kors 2.
Nista 'nikseb - kors JSON.
U dan ma [inaudible].
[Pause]
I riħa xi ħaġa ħażina hawn.
Mhux fuq 3000, I kien fuq il-tab ispettur Chrome.
OK. Mela ejja mur naturalment - kors JSON 1.
U dan jirritorna biss fil JSON format, il-kors mgħobbija
up ma 'xi instructors.
Imma l-eżempju jien ridt biex tagħti hawnhekk hija li,
I am doing kors JSON ID.
U fil-parametri jġibu, Jien tispeċifika jeħtieġu veru,
li hija għażla li l- dokumentati Librerija
fejn huwa qal li, "Jekk, I jippruvaw isibu dan il-kors
u mhuwiex hemmhekk, imbagħad tarmi żball. "
U li għandhom jinqabdu mill- il-qabda blokk stabbiliti hawn.
Mela ejja imorru quddiem u jaqbżu lura fis-ispettur node u jippruvaw
u jiksru dan u tara dak li aħna ltqajna.
Mela ejja jistabbilixxu pawża hawn fuq il-kors JSON.
Kull dritt.
I ser imorru għall-kors JSON u Nixtieq biss jitqiegħdu f'xi -
[Pause]
Hija tista 'tkun ftit delikata kultant meta inti qed tipprova
biex jamministraw liema waħda ġie aggornata
u li għandhom mhux - ejja ara.
Allura huwa l-sejħa żball rispons vojta.
[Pause]
Ejja tarmi debugger fil hawn.
Minħabba kif node attwalment jottimizza
għall-runtime JavaScript li jkun hekk malajr fuq is-server,
xi kultant l-debugger node għandha xi żbalji meta inti tipprova
u stabbiliti breakpoints dinamiku u inti fil-fatt bżonn tagħmel
jużaw debugger u mhux il-linja b'linja minn.
Mela ejja ara jekk dan gets us dak li rridu.
So I stabbiliti, app.get Naturalment JSON id,
u stajt sett debugger tiegħi hemm
fid-dikjarazzjoni tal-qabda fil-qiegħ.
Jġibu jeħtieġu vera, huwa għandu - id-dritt, hemm immorru, kissru.
Allura, issa I jista 'jara li hija waqfet
f'dan blokk qabda finali minħabba li l-withRelated -
jew minħabba li l jeħtieġu veru speċifikati u m'hemm l-ebda kors
ma 'ID ta' dan kbar Numru permezz ta 'eċċezzjoni
li issa hija Emessage.
U kull żball fl JavaScript għandu propjetà stack
li tiġi flimkien miegħu.
Allura huwa spiss utli 'biex per eżempju,
console log out e.stack.
U nista 'attwalment ara meta I hit żball.
So I nikseb żball vojta rispons, dak l-messaġġ
li kienet mibgħuta via Librerija.
Imma issa, I tista 'tagħti ħarsa fil-, fil-call stack u ara
li fil-Librerija mudell djaletti SQL 83,
din it-tweġiba vojta iżball kien jintefa.
U dan huwa fejn I imsemmi, huwa dot anonima
għaliex dan huwa anonimu funzjoni.
Jekk dan kien funzjoni isem inti jkollok ideat aħjar
li jiffunzjonaw effettivament permezz mingħajr ma jkollhom imorru
fil-kodiċi model.js.
Għalkemm huwa maħsub li jkun pjuttost, pjuttost tinqara,
so I jista 'jara li online.
What did dawn jgħidulek me kien linja 83.
Għalhekk, jekk options.require u ir-reazzjoni ma kinux jeżistu,
issa throws ġdida żball rispons vojta.
Allura tista 'tara pretty sempliċi kif din taħdem.
U internament fil-Librerija,
hemm qed biss sħiħa mazz ta 'użu ta' wegħdiet.
Allura inti tista 'tispeċifika Promise.method
mal-librerija Bluebird li jżomm il-kuntest korretta
ta 'dan filwaqt li jirritornaw wegħda.
U hekk jien - jien vinkolanti il-valur ta 'dan simili
għal dak I d ​​imsemmi qabel, iżda bl-użu wegħdiet
u mbagħad I tista '- huwa ġdid.
Hija tista 'tkun mhux sinkroniku jew le jekk irrid.
U mbagħad I do xi affarijiet oħra li jistgħu
jew ma jistgħux ikunu mhux sinkroniku u allura xorta ta 'jumps isfel dan.
Allura Promise.all huwa helper li ħafna ta 'libreriji popolari jkollha
fejn inti jista 'jkollhom firxa ta 'potenzjalment jista'
jew ma jistgħux ikunu wegħdiet.
U ladarba dawk kollha huma jitlesta, inti tirritorna li
u mbagħad jumps mal-linja li jmiss
u tista 'tara kif tassew flattens out-piramida
li ikollok, l- infern callback bħala magħrufa tiegħu
jekk int tagħmel dak kollu ma callbacks linja b'linja.
Hemm modi biex tikseb madwar li iżda wegħdiet wieħed
mill-aħjar modi fl-opinjoni tiegħi
biex verament jżommu kodiċi tiegħek nadif u faċli biex jinqara.
Allura li huwa biss qasir introduzzjoni għal JavaScript
u Librerija u Knex b'mod ġenerali.
U, jekk ikun hemm xi mistoqsijiet, Naf huwa ton ta 'materjal
għal tip ta 'tipprova u kopertura speċjalment peress li l-lingwi,
b'differenza aktar li inti familjari mal so I biss riedu
biex tagħmel dan hekk li mill-inqas jekk int wara problemi
bil-kodiċi tiegħek, inti tista 'tip ta' Mur fil -
dan huwa dak I tixtieq tagħmel, hija tip ta 'Mur fis-libreriji
li jien jużaw u ara kif l-affarijiet huma strutturati.
Hemm wieħed li I kien semma qabel imsejħa Backbone.js
u fil-fatt huwa [Inaudible] fuq in-naħa tal-klijent
biex tgħin biex tagħti opinjoni mudell istruttura kontrollur
għall-kodiċi tiegħek.
Iżda fil-fatt għandha sors dokumentazzjoni annotata
li tippermetti li inti tip ta 'tara.
Huwa verament tajjeb dokumentati, x'inhu għaddej,
kif huwa jkattru l-funzjonalità Ajax
jew il-funzjonalità avveniment jew il-mudelli u kollezzjonijiet sort
ta tispjega x'hemm għaddejjin fil-proċess.
U jekk inti tifhem l-baŜi ta JavaScript
bħall-wirt prototypal u kemm funzjonijiet huma użati
kif kemm oġġetti u l-valuri u l-klassijiet u kollox.
Dan jagħmilha ħafna aktar faċli biex jifhmu x'inhu għaddej
fuq potenzjalment fil- libreriji li inti qed tuża
u kodiċi debugger u jkunu kapaċi li ma jkunux banging ras tiegħek
kontra l-ħajt minħabba ma tifhimx kif il-
biċċiet differenti qed jaħdmu, so.