>> Belə ki, bildirib ki,
yalnız sort bir sadə prototipləri üçün giriş
və JavaScript obyekt model.
Biz keçmək fikrində deyilik danışmaq bir az dişli
Bu haqqında daha ətraflı JavaScript server və Bookshelf Kitabxana
və keçid Knex Kitabxana.
Belə ki, həqiqətən, yalnız bilərsiniz -
Siz Bookshelf.js üçün axtarış olduqca asan olmalıdır
tapmaq üçün, ilk olmalıdır nəticə və Bookshelf
David indicə dediyiniz kimi, strukturunun bir çox verir
JavaScript obyektlərin ətrafında və onlarla relationally iş
relational verilənlər bazası.
Belə ki, oxşar funksiyalar bir çox Kim həqiqətən ağır ilham var
Laravel nin ORM kimi tərəfindən yaxşı Backbone.js kimi,
bir ön MVC olan sizə imkan verir kitabxana
kodunuzu strukturu, Mən göstərən nə bənzər
Bu nümunələri ilə prototipləri harada siz -
əvəzinə yalnız özbaşına üzvü dərsləri atma
burada və orada views.
Bu modellər verir və o modelləri kolleksiyaları
kimi çıxış etməli olan həqiqət sort bir point
üçün məlumatlar haqqında Sizin tətbiqi.
Və sonra bu kimi, qulaq asmaq modelləri dəyişikliklər, siz OK, demək
Bu şablon yenidən göstərmək burada və bu artıq burada
və yalnız burada sinif əlavə, orada sinif əlavə və sort seçin
seçiciler və etmək jQuery kodu spiderweb.
Bu sinif-based daha verir fərdi ədəd strukturu,
lakin bir mühüm komponenti ki, kitabxana modelləri
bənzər bir quruluşu olan Bookshelf modelləri nə üçün.
Belə ki, siz ilə tanış değilseniz Siz olduqca də istəyirik Bookshelf
ilə olduqca tanış , Modellər Backbone.js
və tövsiyə edirəm Bu nəzər alaraq.
Əsas xüsusiyyətləri Belə ki, bəzi
Bu siz verir ki, yalnız bir obyekt haqqında məlumat təyin etmək qabiliyyəti
, almaq zəng etmək üçün olan fərdi rekord qaytarır
verilənlər bazası yaratmaq kimi oxşar münasibətləri
məşğul nə Laravel ərzində
Bir deyə bilərsiniz xəstə rekord metodu seçin
və bu rekord qazandı demək
burada rekord obyekt cədvəl adı sağlamlıq qeydlər.
Baxaq.
Çox var - bu məxsusdur -
siz ki, yalnız stuff olduqca oxşar -
ilə olduqca tanış artıq, lakin JavaScript.
Və başlıq altında, Bookshelf üçün,
bir sorğu builder istifadə edir Knex.js. adlı
Belə ki, Knex, knexjs.org var.
Bu oyuncaq istinad əgər hər kəs heç bu ilə də çalınır.
Amma bu sizə imkan verir - bir ilə oxşar moda, jQuery üçün,
Siz yalnız növ yaratmaq müxtəlif üsulları zəncir
siz zəng etdiyiniz ki, sizin verilənlər bazası sıra belə siz -
Siz deyərək başladı Knex və cədvəl adı.
Belə ki, məsələn, Knex istifadəçilər, Siz istədiyiniz sütunları seçin
harada və müxtəlif Ü var conditionals və ola bilər
VƏ harada və ya, harada arasında olduğu deyil,
İndi, xətti aşağı.
Siz qoşulur müxtəlif belirtebilirsiniz Sizin verilənlər bazası masaları arasında
Bookshelf məcburi istifadə edən sehrli cür qurmaq üçün
Bu hasOne ətrafında, hasMany, belongsTo, belongsToMany.
Və belə birləşməsi
iki siz imkan olduqca çox nə istifadə olarıq
kimi çərçivəsində üçün Baxımından Laravel
funksionallıq məlumat bazaları ilə iş.
Belə ki, irəli getmək və almaq imkan bir sadə misal nəzər
bir Express app olan Bu modellərin istifadə edir
və kolleksiyaları Bookshelf caz [fonetik].
Belə ki, yalnız bir qurmaq etdik burada sadə proqram.
Mən məhsullarının bəzi lüt ifadə başlatılıyor edilib
və init daxil hərəkət Mən yaradan directory.
Haqqında gözəl şeylərdən biri ehtimal kimi Express ilə iş
Laravel var ki həqiqətən çox tətbiq
sizə conventionalized.
Beləliklə, siz rehberler yarada -
Bu, həqiqətən, sizin vermir off işləmək üçün bütün çox.
Siz yalnız sort bəzi var sonra əsas parametrləri və -
lakin qayğı deyil Əgər siz onları qoymaq harada.
Siz yoxdur Müşahidə directory.
Siz modelləri var ehtiyac yoxdur directory, bir config directory.
Siz sort yarada layihə ehtiyacları həmin
və yol şeyi qurmaq sizin üçün ən mənada.
Belə ki, əvəzinə bütün malik Bu express boilerplate
əsas app.js Mən yalnız bildirib app bərabər init / Express tələb edir.
Və belə init da,
Bu başlatılıyor qovluq Mən yalnız burada Express var
və bu Express, zənglər tələb edir quraşdırma funksiyası çağırır -
görünüşü mühərrik yaradır, JSON parser, bütün.
Belə ki, indi-nin aşağı davam edək.
Mən tələb edirəm Əlbəttə təlimatçı görüş
və tələblər modelləri.
Belə ki, bu bir qovluq var ki, Mən yalnız adı modelləri qərar verdi.
Bu ki, yoxdur yol lakin bu mənada edir
lakin modelləri yalnız olduqca ümumi belə tövsiyə edirəm.
Amma - Belə ki, gedək kurs üçün.
Mən istifadə edirəm - Bəli, və nümunələr
aşağı burada bütün əsaslanır kurs model ətrafında.
Belə ki, yalnız qoy bir ki, baxmaq.
Belə ki, indi yalnız bir Bu model ilk line,
Mən artıq tələb edirəm başqa bir şey.
Siz node görəcəksiniz əgər Belə ki, Siz tələb edilməlidir
və ya siz başa olacaq bütün dəstə tələb
müxtəlif faylları yerləşir ki,
müxtəlif yerlərdə Sizin tətbiqi.
Və nisbi yolları Harada olursunuzsa olun
Cari proqram,
artıq bir üst səviyyə halda Siz quraşdırma kimi müəyyən
Bookshelf kimi MPM ya Knex və ya Express və ya bir şey,
o nisbi deyil.
Bəli? Daha Zoom?
OK. OK. Belə ki, olacaq bütün dəstə tələb başa
Sizin yalnız müxtəlif fayllar yaxşı və pis olan kodu.
Bildiyiniz yaxşı bir şəkildə olduğu şeylər və sort deyil
sehrli nə kimi başlıq altında gedir,
həqiqətən confusing ola bilər
Bir çox zaman ağır Java -
və ya çox ağır çərçivə kimi Sort deyir Laravel,
biz qayğı olacaq bu belə yoxdur
hər şeyi tələb etmək lakin siz
bilmək necə hər şey istifadə etmək üçün çalışır.
Bu halda kimi, bu kimi çox sadə
hər şey olduğu onlar yalnız başa etdiyiniz
up bir az daha yazaraq olan.
Sadəcə mən istəyirəm yan kimi istifadə etmək, bir plugin var
Bir kor mətn istifadə əgər
Siz node quraşdırma bilərsiniz modulları köməkçi və başlaya bilərsiniz
təlimatçı kimi yazın və Bu nisbi yol yaradır
Siz ki, harada kodu fayl cür faydalı.
Belə ki, kurs model burada baza tələb olunur
və sonra baza intern init / bookshelf tələb
və sonra Bookshelf, bu üst səviyyə Bookshelf tələb edir
və sonra ilə initializes başlatılmış Knex instansiya,
müştəri adı müəyyən edən
və əlaqə verilənlər bazası üçün parametrləri.
Mən yalnız bir sadə istifadə edirəm Sequel Pro olan instansiya -
MySQL, mən ilə daxil oldum Sequel Pro və bu, yalnız sort
oxşar bazası biz kimi quraşdırma
ilk nümunə proqram kurs kataloq ilə.
Belə ki, mən bağlantısı qurmaq burada ayarları,
və bu bütün sənədləşdirilmiş Bu Knex.js layihə səhifə
kimi necə quraşdırma üçün bu əlaqələri.
Belə ki, indi mənim baza model var.
Və mən qeyd etdiyim kimi prototip dəyişiklik,
belə ki, həqiqətən bilər bir çox növ ola -
Demirbaş bir çox əlavə edir kodunuzda belə konvensiya
ki, adaptasiya edilib Backbone.js tərəfindən
və indi Bookshelf.js edir Bu metodu uzatmaq əlavə etmək
bir statik əmlak kimi JavaScript obyektləri,
demək olar ki, bir növ verir sinif-based miras təbiət
harada zəng əgər Əgər hər hansı bir bilərsiniz uzatmaq
prototip üsulları Burada istədiyiniz
və sonra siz - bir əlavə statik üsulları
Siz, istədiyiniz bilər ki, yalnız onlara özünüzü bilərsiniz
Burada mən onu uzada bilər ilə - əgər misal üçün,
çox modelləri lazım adı və bu almaq adı göstərilir.
Belə ki, burada, mən deyirəm model üçün ekran adı
default nə onun adı əmlak başqa qayıdacaqsınız
no name.
Və indi hər haqqında model bir deyil -
Bu baza model uzanır, mən indi bir ekran adı metodu var
prototip haradasa zəncir.
Və mən bunu yazmaq istəyirsinizsə Mən yalnız bunu edə bilərsiniz - nə müəyyən -
getname burada olacaq.
Və bu taklit üçün imkan verir klassik miras
JavaScript hansı ola bilər şeylər üçün xüsusi gözəl
ki, özləri olan borc olunur sinif object modelləri kimi əsaslanır.
Belə ki, geri jump edək proqram kodu.
Mən yalnız bir marşrut var yalnız mənim indeksi üçün, çizgi
və sonra kursları doğramaq.
Və bu həm də zəng Bu renderCourses metodu.
Belə ki, yenə funksiyaları birinci sinif və qəbul edilə bilər
üsulları arqumentlər kimi.
Belə ki, bu app.get da, Çağırışı edirəm -
Mən renderCourses keçən alıram arqument kimi.
Və göstərir - və ya funksiyaları var kimi quraşdırma ola bilər -
Mən əvvəllər var edirdi renderCourses funksiyası bərabərdir
və ya onlar ola bilər funksiyası renderCourses.
Bu çox etmir bir fərq daha.
Siz, həqiqətən, ola bilər nə adı funksiyası deyilir
olan ifadələr, var renderCourses bərabər
funksiyası renderCourses.
Və var, istəyirəm səbəbi xüsusilə funksiyaları ad
node edir ki bir təmiz verir -
daha oxunaqlı yığını iz.
Belə ki, bütün dəstə varsa
anonim funksiyaları demək olacaq -
Əgər bir səhv zaman Sizin kodu you'll da -
Bildiyiniz olmayacaq funksiyası bu baxmaq istədiyiniz zəng
kodu sayda və line sayı
və bəzən asandır yalnız vizual analiz etmək
siz həqiqətən adları zaman
funksiyaları üçün server tərəfində özləri.
Belə ki, bu renderCourses, nin node apps zəng edək -
belə ki, dinləmək alıram Core 3000 [fonetik].
Və bütün bu doğru edir burada yalnız əldə bütün
bazasında kursları.
Mən hətta məhdudlaşdırılması deyiləm belə ki, bir çox edir
satır qaytarılması.
Və bunu etmək üçün,
orada kurs model statik mülkiyyətidir
toplanması çağırıb.
Və mən yalnız zəng - I yeni kolleksiya yaradır
Bu kurs üçün, və sonra almaq,
və sonra kursları qayıtmaq burada vəd toplusu.
Belə ki, məcburi, David ildə - Son yarım bir az öyrətdi
vədlər və vədlər haqqında həm KNex çox sıx istifadə
və Bookshelf çünki Bu verir -
siz verir bir dəstə var bacarığı
müxtəlif asynchronous zənglər və sort sonra birlikdə qoşulmaq
və ya sonra bir şey almaq, və
zəng başqa asynchronous bazası zəng edin
ki, dəyəri qayıtmaq və sonra növbəti jump
və növbəti sonra və sonra bir düzmək üçün çox sonunda tutmaq
və taklit asynchronous cəhd tutmaq asinxron kodu ilə davranış,
İndi gördükdə, çünki
lakin belə çətindir dəfə var Siz ilə məşğul başlayın.
Asynchronous kodu yalnız hər yerdə
server yan JavaScript və həqiqətən çox böyük dərəcədə
Əgər istifadə etdiyiniz çox JavaScript etdik
klient tərəfində.
Belə ki, həqiqətən, həqiqətən, orada sizə kömək.
Amma yalnız sizə göstərmək üçün ayıklama bəyanat
Mən söhbət ki, Bu node inspektor alətlər,
Mən irəli getmək üçün gedən və alıram burada ayıklama xətt atmaq
Bu renderCourses funksiyası ki, mənə çıxarır yerləşir və görmək
Mən - belə node inspektor quraşdırıla bilər
MPM Install etməklə G bayrağı ilə,
Global deməkdir Node Inspector.
Və MHP üçün almaq lazımdır və qlobal yüklemek
Sizin üçün belə ki, yalnız zəng edə bilərsiniz
command line.
Mən artıq yükledikten belə Mən irəli getmək və lazımdır -
həqiqətən, ola bilər yalnız almaq lazımdır gözləmək,
iki saniyə.
Və nə node inspektor yenə sizə imkan verir
etmək üçün bu başsız var ayıklama konsol versiyası
Siz iş zaman istifadə etdiyiniz klient tərəfində və mümkün
dayandırmaq üçün, yalnız müəyyən əlavə kodunu göstərir.
Icra dayandırmaq və almaq neler baxmaq,
həqiqətən var ki, yararlı əgər xüsusiyyət
ki, mövcud idi kimi
ayıklama zaman PHP kodu əminəm.
Belə ki, yalnız qoy bir ki, baxmaq.
Mən yalnız zəng edə bilərsiniz node inspektor
və bu URL baxın demək lazımdır ayıklama başlamaq üçün port 5858,
yalnız default var Onu başlayır necə.
Belə ki, indi var - var burada heç bir şey davam
Mən başlamaq lazımdır, çünki.
Belə ki, node Kördüğüm [fonetik] Bu debug bayraq və sonra app.js.
Belə ki, ayıklama deyir , port 5858 dinləmək
Express server dinləmək 3000 haqqında.
Beləliklə, biz getmək iyi.
Mənə yalnız bu canlandıraq.
İndi mən app.js bilərsiniz Mən yalnız axtarır ki, kodu
lakin burada konsolda.
Belə ki, indi mən bu çalıştırmak üçün cəhd edin, Siz edə bilərsiniz, bu dayanır.
Bu, yalnız gözləmə, çünki onun bütün kodu icra indi
Bu ayıklama üzrə dayandırdı Mən orada qoymaq etdik ki, line.
Və indi server bilərsiniz -
[Işitilemez Remark]
Bəli, Oh. Söz nədir ekran zoom qısa?
Oh var.
Var. OK.
[Pause]
Oh, axtarır deyil [Fonetik] ki.
Belə ki, kurslar həqiqətən böyük
Mən bunu deyiləm, çünki bənd və ya bir şey məhdudlaşdırmaq,
yalnız gətirilərkən oldu kursları bütün verilənlər bazası
onların bir çox olan var.
Və belə - predmeti olan
ki, həqiqətən avariya bilər Qeyd inspektor instansiya.
It's - OK.
Mənə bir limit edək və sonra biz bir nəzər edə bilərsiniz
Bu alma deyil zaman kursları yüzlərlə.
Belə ki, server öldürmək və inspektor
Və əlbəttə edəcəyik toplanması sorğu limit 20.
Belə ki, Bookshelf, Laravel fərqli olaraq
yalnız zəng edə bilərsiniz birbaşa məhdudlaşdırmaq və ya hər hansı bir zəng
Bu SQL üsulları Siz istifadə
birbaşa ORM instansiya haqqında.
Siz yalnız istifadə etdiyiniz zaman Təmin olunur SQL metodu
KNex, siz var düzmək üçün sorğu zəng
sorğu zəncirinin daxil dokunun.
Bu tələb edə bilər bir funksiyası ya,
belə ki, funksiyası demək olar bu limit 10 və ya siz zəng
ifadə edərək hansı üsul zəng etmək istədiyiniz
Bu Knex instansiya və sonra olan dəyər.
Beləliklə, biz nə olacaq 20 məhdudlaşdırmaq və müəyyən sonra.
Biz, həqiqətən, yoxdur burada ayıklama lazımdır
biz yalnız, çünki breakpoints
və asan edir.
Bütün hüquqlar.
Belə ki, bir breakpoint ili burada və yüklemek üçün cəhd edin.
Yanlış line.
Burada.
[Pause]
OK. Belə ki, yenə dayandı.
Belə ki, indi, kurslar bir edir 20 uzunluğu etiraz
və biz bütün müxtəlif bilərsiniz bu alındı ​​ki, modelləri
Burada bazası mən bir model obyekt var
daxili, olan əmlak atributları
Obyekt haqqında hər şeyi var Bu bazasında aşkar olan.
Ki, heç bir tədbir qeydə alınıb
belə ki, üzv ola bilərsiniz müxtəlif tədbirlər,
misal üçün zaman model silindi olunur
və ya götürülməmiş olan zaman,
müxtəlif bilərsiniz xassələri və ya şeyi dəyişdirmək.
Müxtəlif qarmaqlar bir çox var və bu bütün sənədləşdirilmiş
Bu Bookshelf.js da sizə imkan verir ki, sənədlər
bir şey cür etmək Siz həqiqətən etmək istəyirəm ki,
Sizin modelləri ilə və kolleksiyaları.
Siz edə bilərsiniz - onlar demək edirik həqiqətən özelleştirilebilir olmaq
və həqiqətən asan Əgər siz onları uyğunlaşdırmaq
sizin ehtiyaclarını tətbiqi.
Amma yalnız burada vasitəsilə axtarır
Mən nə müxtəlif edə bilərsiniz kursları mövcuddur.
Və bu halda, mən həqiqətən almaq etməyib
başqa hər hansı digər məlumatları ilə yalnız kursları özləri.
Amma oxşar moda Siz bilərsiniz fəsahətli ORM
up münasibətləri, kurs çox təlimatçı məxsusdur.
Belə ki, mən irəli getmək əgər, ərizə dayandırmaq,
Siz, zəng edin almaq Bu jump müxtəlif variantları daxil edə bilərsiniz
Siz istədiyiniz bu boyunca keçir.
Onların biridir Əlaqəli kodu yüklemek üçün qabiliyyəti
withRelated ifadə edərək müəllimlər sonra kursları.
Belə ki, geri və təzə gedək Burada bu və yenidən dayandırmaq.
Belə ki, indi kursları etiraz, modelləri eyni sayda,
lakin indi hər model bir əlaqələr hash
öğretim olan Bu əlaqədar ki.
Məsələn Belə ki, bu kurs
Əlbəttə olan 082 iki var əlaqədar təlimatçı modelləri.
Və artıq necə edə bilər çox asan bu sort edir
vizual çox işləmək Siz məhsulları ilə məşğul olduğunuz zaman
Siz sort kodu dəyişdirmək və sonra PHP yenidən cəhd edin.
Faktla siz ki, yalnız tamamilə icra dayandırmaq
və burada nə qiymətləndirmək və - bu konsol, bu -
zoom, kurslar, bilirsiniz
nə ki, yerli həcmi dəyişənlər mövcuddur
və bu hazırda qlobal obyekt, siz onu gördüm kimi, çünki
Bir ilə zəng halda xüsusi kontekstində, o niyyətində deyil
burada müvafiq bir şey var.
Və sonra, - mənə bildirin bir neçə nümunələr göstərmək
vədləri yerinə.
Belə ki, əvəzinə bunu burada withRelated müəllimlər Ben
irəli getmək və bu hərəkət olacaq almaq və sonra kursları,
I qayıtmaq üçün gedirəm courses.load müəllimlər.
Və sonra - sonra sonra zəng.
[Pause]
Belə ki, bu nöqtədə kursları dolu olmalıdır
müəllimlər, olan asinxron fəaliyyət göstərir.
Amma biz qaytarılması edirik, çünki bir söz, bu, növbəti dəyər
sonra üçün nə bu asynchronous zəng edin returns
bu halda yük Bookshelf bir üsul
ki, həqiqətən qaytarır toplanması özü.
Belə ki, loading oldu orada müəllimlər
və sonra daxil edə bilərsiniz - yalnız bir əmlak var əgər,
Bu belirtebilirsiniz string kimi, əks halda,
Siz müəllimlər edə bilərsiniz və tələblər
üsulu kimi - Bağışlayın, bir sıra kimi.
Və sonra almaq istəyirsinizsə həqiqətən fantezi və hər hansı məhdudlaşdırır
Bu siz, alınır verilir bir hash kimi daxil edə bilərsiniz
təlimatçı və sonra nə ilə Siz sorğu məhdudlaşdırmaq istəyirəm.
Belə ki, mən bütün yüklemek üçün istədiyiniz kursları harada müəllimlər -
sorğu builder üçün belə QB status aktiv olduğu.
Və həqiqətən əldə edə bilərsiniz hər hansı xülya
əlaqədar sorğu Siz qurmaq üçün istədiyiniz.
Lakin, yalnız indi, biz olacaq yalnız müəllimlər qalmaq üçün
və biz ki, dəyəri qaytarılması edirik
belə sonra növbəti olmalıdır bütün kursları yüklü
up düzgün.
Və bir səhv var idi ki, zəncirin hər hansı bir addım,
bu tutmaq aşağı jump olardı.
Belə nin irəli getmək və run imkan verir.
Belə ki, hər dəfə - fərqli olaraq PHP, bir İşin mənfi tərəfi odur edir
"Node çünki" uzun çalışan proses, siz həqiqətən ehtiyac
Bu node prosesi dayandırmaq üçün Siz kodu yeniləmə kimi,
çünki bu versiyası run zaman çalışan ki,
Bu versiyası dolu idi ki, kodu
deyil başladı Siz nə sort
sizin kodu yenilənir sonra ilə.
OK. Biz breakpoint bilərsiniz burada, burada və yenileme.
[Pause]
Oh, mən, həqiqətən olmadı ya bu səhifəni yenileyin
belə ki, köhnə prosesi idi.
Belə ki, həm bu yenilemek və node inspektor.
Belə ki, indi biz kursları görürük.
Biz yalnız nümunə alsaq Bu modellərin biri,
biz görürük ki, münasibətlər obyekt boş, lakin indi -
və sizə lazım olan səbəb breakpoints, yaxşı deyil,
Mən sizə ki, yığını iz daxil jump
və, Bildiyiniz görmək bu app olacaq.
Belə ki, indi mən nə edə bilərsiniz yük metodu baş,
Mən müəyyən etdik kolleksiyalarına haqqında.
Bu cür "EAGER yük artıq "üzərində münasibətlər.
Və vasitəsilə addım bilər və xətti ilə line görmək
bu stuff olduğu böyük olan gedir.
Əgər bir şey varsa, ki, kodu sınıq
bəzi səhv atma və var Siz, mən, həqiqətən istədiyiniz kimi istəyirik
Bu hara getdiyini görürük.
Amma tezliklə daxil olaraq bir şey asinxron, the -
növbəti gedir Tədbirdə loop qeyd
və sizin itirmək lazımdır - Siz yer itirmək
Bu node müfəttişi.
Beləliklə, siz demək lazımdır, "OK, mən bu itirmək bir dəfə,
indi dayandırmaq lazımdır yenə bu xətti. "
Mən vuruş saxlanılır əgər Çünki aşağı, yığını aşağı,
nəticədə var ki, yalnız Mən bu atmadığını üz getdi
22 blue break line line.
Belə ki, indi mən baxmaq əgər burada kurslarda,
Bu əlaqə haqqında olmalıdır müəllimlər
və sonra var müəllimlər onlara veririk.
Belə ki, mən döndü bilərsiniz ilk vəd bir söz
və sonra daim bilərsiniz xətti aşağı bunu.
Belə ki, müxtəlif söz, kitabxana söz,
Mən istifadə Bluebird adlı bir həqiqətən faydalıdır.
Bu gözəl bir çox əlavə edir Asynchronous dəyişdirilməsi üçün -
zəng geri dəyişən məhsulları daxil baza kodu
ki, vədlər ilə yaxşı işləyir.
Amma - bağışlayın [işitilemez] nə Mən orada demək gedirdi.
Bir nəzər salaq baxmayaraq da -
belə bir var idi ki, deyək problem şey alınırken.
Belə ki, mən bu digər marşrut var adlı kurs ID tapmaq üçün.
Belə ki, kurs 2 edək.
I əldə edə bilərsiniz - JSON kursu.
Bu [işitilemez] yoxdur.
[Pause]
Mən burada yanlış bir şey kokusu.
3000 haqqında, mən deyil Chrome inspektor nişanı.
OK. Belə ki, getmək edək kursu - JSON kurs 1.
Və bu, yalnız JSON qaytarır format, kurs dolu
bəzi müəllimlər.
Amma mən istəyirdim nümunə burada vermək ki,
Mən JSON kurs ID edirəm.
Və almaq parametrləri, Mən əsl tələb ifadə edirəm
ki, bir seçim olan Bookshelf sənədləşdirilmiş
Əgər harada ki, "deyərək Mən bu kurs cəhd və tapmaq
və bu, yoxdur sonra bir səhv atmaq. "
Və tərəfindən tutuldu edilməlidir Tutmaq burada blok.
Belə nin irəli getmək və geri jump Bu node inspektor daxil və cəhd
və bu qırmaq və biz var nə görmək.
Belə ki, bir fasilə müəyyən edək burada JSON kursu üzrə.
Bütün hüquqlar.
Mən JSON əlbəttə getmək lazımdır Mən yalnız bəzi qoymaq olardı -
[Pause]
Bu bir az çətin ola bilər bəzən çalışdığınız zaman
idarə etmək üçün bir yenilənmiş edilmişdir
və yoxdur - nin görək.
Belə ki, səhv zəng boş cavab.
[Pause]
Burada bir ayıklama atmaq edək.
Çünki necə node həqiqətən optimallaşdırır
JavaScript iş üçün server qədər sürətli olmaq,
bəzən node ayıklama Siz cəhd bəzi səhvlər var
və dinamik breakpoints və həqiqətən lazımdır
ayıklama istifadə etmək üçün deyil line-by-line.
Belə ki, görək bu halda biz istədiyiniz nə bizə olur.
Mən müəyyən app.get JSON kurs id,
və mən orada mənim ayıklama müəyyən etdik
tutmaq şərhdə alt.
Olmalıdır, doğru tələb Fetch - bütün sağ, orada getmək qırdı.
Belə ki, indi mən görürəm Bu dayandırdı
Bu son catch blokunda Bu withRelated çünki -
və ya çünki əsl tələb müəyyən və heç bir kurs var
Bu böyük şəxsiyyət vəsiqəsi ilə istisna vasitəsilə sayı
İndi Emessage olan.
Və JavaScript hər səhv bir yığın əmlak var
ki, birlikdə gəlir.
Belə ki, tez-tez faydalı üçün, məsələn,
e.stack həyata daxil təsəlli.
Mən, həqiqətən, bilərsiniz Mən səhv hit zaman.
Mən səhv boş almaq cavab ki, mesaj var
ki, Bookshelf vasitəsilə göndərilmişdir.
Amma indi mən bir nəzər edə bilərsiniz Bu, zəng yığını və görmək
ki, Bookshelf dialektləri SQL model 83,
Bu boş cavab səhv atıldı.
Və bu olduğu I qeyd, bu dot anonim var
anonim çünki funksiyası.
Ki, bir adı funksiyası olsaydı daha yaxşı ideyaları var
həqiqətən fəaliyyət üçün getmək olmadan vasitəsilə
Bu model.js kodu daxil.
Bu üçün nəzərdə baxmayaraq ədalətli, ədalətli oxunaqlı,
belə ki online bilərsiniz.
Onlar demək idi Mənə line 83 idi.
Belə ki, əgər options.require və cavab yox idi,
indi yeni bir salır boş cavab səhv.
Beləliklə, siz olduqca bilərsiniz ki, necə sadə.
Və məcburi Bookshelf,
yalnız bütün orada istəyirik vədlər istifadə dəstə.
Belə ki, belirtebilirsiniz Promise.method
Bu Bluebird kitabxana ilə doğru kontekstində saxlayır olan
bu isə qaytarılması bir söz.
Və mən - Mən məcburi alıram Bu oxşar dəyəri
Qeyd istədiyiniz nə üçün əvvəllər, lakin vəd istifadə
və sonra mən bilər - yeni.
Bu asynchronous ola bilər ya mən istəyirsinizsə.
Və sonra mən bəzi digər şeylər olan bilər
və ya asinxron və bilər sonra bu aşağı atlamalar növ.
Belə ki, Promise.all bir köməkçi olduğunu məşhur kitabxana bir çox var
bir bilərsiniz potensial may array
və ya vədlər ola bilər.
Və bütün bu dəfə başa, siz qayıtmaq ki,
və sonra jumps növbəti line
və siz həqiqətən necə edə bilərsiniz piramida həyata flattens
siz almaq ki, Məlum kimi callback hell
Siz hər şeyi edirik, əgər xətti ilə callbacks xətti ilə.
Ətrafında almaq üçün yollar var lakin vədlər biridir
mənim fikrimcə ən yaxşı yollarından
həqiqətən sizin kodu saxlamaq üçün təmiz və oxumaq üçün asan.
Belə ki, yalnız bir qısa JavaScript giriş
və bookshelf və ümumiyyətlə Knex.
Və, hər hansı bir sualınız varsa, Mən bu material bir ton bilirik
sort cəhd və örtüyü xüsusilə diller,
Siz ki, ən fərqli mən yalnız istədi tanış
etmək üçün ki, ən azı Əgər sorun qarşılaşdıqda, əgər
sizin kodu ilə, siz sort atlayabilir -
ki, Mən bunu istəyirəm nə edir sort kitabxanalarına daxil jump
Mən istifadə və görmək edirəm ki, şeyi strukturlaşdırılmış olunur necə.
Mən qeyd edib ki, bir var əvvəllər Backbone.js adlı
və həqiqətən bu [Işitilemez] klient tərəfində
model görünüşü vermək üçün nəzarətçi strukturu
Sizin kodu.
Lakin bu, həqiqətən var not sənədlər mənbə
siz sort görmək üçün imkan verir.
Bu, həqiqətən sənədləşdirilmiş, nə neler
bu gücləndirilməsi necə Ajax funksionallığı
Tədbirdə funksionallıq və ya və ya modellər və kolleksiyaları sort
var nə izah prosesində olur.
Və anlamaq əgər JavaScript əsasları
Bu prototypal miras kimi və funksiyaları istifadə olunur necə
obyektlərin və dəyərlər, həm də və siniflər və hər şey.
Bu çox asan edir neler anlamaq üçün
Bu potensial haqqında istifadə etdiyiniz kitabxana
və ayıklama kodu və mümkün baş tarpıltı deyil üçün
divara çünki başa düşmürəm necə
müxtəlif ədəd ki, çalışırıq.