>> بنابراین، با که می شود گفت،
فقط یک نوع ساده مقدمه ای بر نمونه های اولیه
و مدل شی جاوا اسکریپت.
ما قصد داریم برای تغییر چرخ دنده کمی برای صحبت کردن
جاوا اسکریپت مورد بیشتر در سرور و کتابخانه قفسه کتاب
و اتصال Knex کتابخانه.
بنابراین، شما می توانید در واقع فقط -
اگر شما برای Bookshelf.js جستجو باید آن را بسیار آسان می شود
برای پیدا کردن، اول باید نتیجه و قفسه کتاب
به عنوان دیوید فقط ذکر شده می دهد بسیاری از ساختار
در اطراف اشیاء جاوا اسکریپت و کار با آنها روابط،
در پایگاه داده های رابطه.
بنابراین، بسیاری از ویژگی های مشابه که در واقع به شدت الهام گرفته است
توسط ORM Laravel به عنوان همچنین Backbone.js،
است که در پایان مقابل MVC کتابخانه که به شما اجازه می دهد
به ساختار کد شما، شبیه به آنچه که من بود نشان
با نمونه هایی از نمونه های اولیه که در آن شما می توانید -
به جای فقط خودسرانه پرتاب کلاس
دیدگاه خود را اینجا و آنجا.
این به شما مدل و مجموعه ای از این مدل ها
که قرار است به عنوان عمل مرتب سازی بر یک نقطه از یک حقیقت
در مورد داده ها را برای درخواست شما.
و سپس شما را به گوش دادن، به عنوان کسانی که مدل های تغییر، به شما می گویند، OK،
دوباره ارائه این الگو در اینجا و این یکی در اینجا
و نه فقط به کلاس اضافه کنید در اینجا، اضافه کردن کلاس وجود دارد و نوع انتخاب
در انتخاب و ایجاد spiderweb کد جی کوئری.
آن را می دهد بیش از مبتنی بر کلاس ساختار به قطعات فردی،
اما بخش مهمی از که کتابخانه مدل است
که یک ساختار مشابه به چه مدل قفسه کتاب انجام دهد.
بنابراین، اگر شما با آشنا قفسه کتاب شما بسیار هم هستیم
بسیار آشنا با Backbone.js مدل،
و من توصیه می کنم در نظر گرفتن یک نگاهی به این.
بنابراین، برخی از ویژگی های عمده
است که آن را به شما می دهد تنها توانایی برای تنظیم داده ها بر روی یک شی
تماس بگیرید واکشی، که سابقه فردی را برمی گرداند
از پایگاه داده، ایجاد روابط به عنوان مشابه
به آنچه که شما سر و کار داشتن در در Laravel
که در آن شما می توانید می گویند بیمار تنظیم روش ضبط
و می گویند این موفق به کسب رکورد
که در آن شی به ثبت رسیده است نام جدول سوابق بهداشتی.
اجازه دهید را ببینید.
تا به بسیاری از - آن را به تعلق -
فقط چیزهای که شما بسیار مشابه -
بسیار آشنا با در حال حاضر، اما در جاوا اسکریپت.
و در زیر هود، برای قفسه کتاب،
استفاده از یک ساز پرس و جو نام Knex.js.
بنابراین، آن Knex، knexjs.org است.
این یک اشاره به اسباب بازی اگر کسی این رو با این بازی.
اما اجازه می دهد تا شما را به - در یک مد مشابه، به جی کوئری،
شما فقط نوع یک زنجیره ای از روش های مختلف
که شما درخواست خود را ردیف پایگاه داده به طوری که شما می توانید -
شما از با گفتن آغاز شده Knex و نام جدول.
بنابراین، برای مثال، کاربران Knex، انتخاب ستون های شما را می خواهم،
که در آن، و که در آن مختلف شرطی و شما می توانید
و که در آن، OR که در آن، که در آن بین، که در آن نیست،
شما در حال حاضر، پایین خط.
شما می توانید مختلف می پیوندد مشخص بین جداول پایگاه داده خود را
که قفسه کتاب با استفاده از داخلی راه اندازی نوعی از سحر و جادو
در اطراف hasOne، hasMany، belongsTo، belongsToMany.
و به این ترتیب ترکیبی
از این دو به شما اجازه انجام این کار بسیار بسیار چیزی است که شما می تواند استفاده شود
در چارچوب مانند Laravel در نظر
از قابلیت های کار با پایگاه داده ها.
بنابراین، اجازه دهید پیش بروید و نگاهی به یک مثال ساده
برای یک برنامه اکسپرس که با استفاده از این مدل ها
و مجموعه جاز قفسه کتاب [آوایی].
بنابراین، من در راه اندازی تنها نرم افزار ساده است.
I محروم کردن برخی از مسائل که شد مقدار دهی اولیه بیان
و حرکت است که به init انجام دایرکتوری که من ایجاد شده است.
یکی از چیزهایی که خوب در مورد کار با اکسپرس به عنوان قرار
به Laravel وجود دارد که واقعا بسیار اجرا نمی
بر شما قراردادی.
بنابراین شما می توانید دایرکتوری ایجاد -
آن واقعا به شما بدهد کل خیلی به کار کردن از.
شما فقط نوع از برخی کردم تنظیمات اولیه و پس از آن -
اما از آن مراقبت می کند جایی که شما آنها را.
شما لازم نیست به دایرکتوری کنترل است.
شما لازم نیست به یک مدل دایرکتوری، دایرکتوری پیکربندی.
شما می توانید نوع ایجاد کسانی که به عنوان نیازهای پروژه شما
و همه چیز راه اندازی راه که باعث احساس بیشتر برای شما.
بنابراین به جای داشتن تمام این boilerplate بیان
در app.js اصلی من فقط گفت: برابر برنامه نیاز به INIT / بیان.
و به این ترتیب در init انجام،
پوشه مقدار دهی اولیه من فقط در اینجا اکسپرس،
و این نیاز به اکسپرس، تماس عملکرد راه اندازی، خواستار -
مجموعه موتور نظر، پارسر JSON، همه که.
بنابراین در حال حاضر، اجازه دهید ادامه.
بنابراین من نیاز به جلسه درس
و مدل های مورد نیاز.
بنابراین این را در یک پوشه هستند که من فقط به نام مدل تصمیم گرفت.
لازم نیست که به راه با این حال آن را حس می کند،
اما مدل فقط زیبا مشترک بنابراین من آن را توصیه می کنم.
اما - پس اجازه دهید به برای دوره.
من فکر می کنم من با استفاده از - بله، و نمونه
در اینجا، همه و همه بر اساس در اطراف مدل البته.
بنابراین اجازه دهید فقط آن در آن نگاه کنید.
بنابراین، در حال حاضر، فقط از خط اول از این مدل،
من در حال حاضر نیاز چیز دیگری.
بنابراین اگر شما می خواهید اطلاع در گره شما باید به نیاز
و یا قصد دارید برای پایان دادن به نیاز به یک دسته کامل
فایل های مختلف که در آن قرار دارد
در مکان های مختلف در برنامه شما.
و مسیر های نسبی به هر جا که هستید
در برنامه فعلی خود را،
مگر اینکه آن را به یک سطح بالا در حال حاضر تعریف شده به عنوان در شما آن را نصب کنید
با MPM مانند قفسه کتاب و یا Knex یا اکسپرس و یا چیزی،
کسانی که نسبت نیست.
بله؟ زوم در بیشتر؟
OK. OK. بنابراین، شما در حال رفتن به در نهایت نیاز به یک دسته کامل
فایل های متفاوت در خود کد، که خوب است و هم بد.
در یک راه خوب شما می دانید که در آن همه چیز و آن مرتب سازی بر نمی
از سحر و جادو به چه در رفتن در زیر هود،
که واقعا می تواند گیج کننده باشد.
هنگامی که شما به بسیار جاوا سنگین -
و یا چارچوب سنگین Laravel، که به نوعی می گوید،
ما قصد داریم به مراقبت از این پس شما لازم نیست
نیاز به همه چیز اما شما باید
بدانید که چگونه همه چیز با این نسخهها کار به منظور استفاده از آن.
که در آن به عنوان در این مورد، آن را بسیار ساده به عنوان به
که در آن همه چیز است، آنها فقط به پایان می رسد هستید
تا که کمی تایپ کردن است.
همانطور که در سمت من دوست دارم برای استفاده، یک پلاگین وجود دارد
اگر شما استفاده از یک متن کور
که در آن شما می توانید گره نصب ماژول های کمکی و شما می توانید شروع
به نوع مانند مربی و آن را ایجاد مسیر های نسبی
به جایی که شما به آن می باشد فایل کد، نوع مفید است.
بنابراین، مدل البته است که نیاز به پایه در اینجا
و سپس کارآموز پایه نیاز به init انجام / قفسه کتاب
و سپس قفسه کتاب، آن را به نیاز به قفسه کتاب در سطح بالا
و سپس آن را مقدار دهی اولیه با به عنوان مثال Knex اولیه،
که مجموعه نام مشتری
و ارتباط تنظیمات برای پایگاه داده.
بنابراین من فقط با استفاده از ساده به عنوان مثال از عاقبت طرفدار که -
از خروجی زیر، من آن دسترسی با عاقبت طرفدار و آن را تا فقط نوع
از یک بانک اطلاعاتی مشابه راه اندازی که ما به حال
در برنامه نمونه اول با انتخاب دوره مورد نظر.
بنابراین، من تنظیم اتصال من تنظیمات در اینجا،
و این ها همه مستند در صفحه پروژه Knex.js
که چگونه به راه اندازی این اتصالات.
بنابراین، من در حال حاضر مدل پایه من داشته باشد.
و من با ذکر تغییر نمونه،
به طوری که می تواند در حقیقت از نوع زیادی به -
می افزاید: بسیاری از boilerplate به کد خود را به طوری کنوانسیون
که اقتباس شده است توسط Backbone.js
و در حال حاضر Bookshelf.js است برای اضافه کردن این روش گسترش
به عنوان اموال شخص در اشیاء جاوا اسکریپت،
می دهد که آن را به نوعی تقریبا طبیعت ارث بر اساس طبقه
که در آن صورت تماس گسترش شما می توانید تا هر
از روش نمونه که شما می خواهم در اینجا می خواهم
و پس از آن شما می توانید - هر روش اضافی شخص
که در صورت تمایل، شما می می توانید فقط آنها را به مجموعه خود
در اینجا، بنابراین من می تواند آن را گسترش دهد با - بنابراین اگر به عنوان مثال،
چند مدل مورد نیاز نام و نام دریافت نمایش می دهد.
بنابراین، در اینجا، من گفت: نام برای مدل صفحه نمایش
به طور پیش فرض هر آنچه که از نام آن است اموال است در غیر این صورت بازگشت
بدون نام.
و در حال حاضر در هر مدل این است که -
که گسترش این مدل پایه، I در حال حاضر یک روش به نام صفحه نمایش
در نمونه زنجیره ای جایی.
و اگر من می خواهم به آن بازنویسی من فقط می توانید آن را تنظیم - مجموعه چه -
getname در اینجا خواهد بود.
و این اجازه می دهد تا شما را به تقلید ارث کلاسیک
در جاوا اسکریپت، که می تواند خوب است به ویژه برای همه چیز
که به من قرض بدهید خود بودن طبقه بر مثل مدل شی.
بنابراین اجازه دهید پرش به کد نرم افزار.
بنابراین من یک مسیر برای فقط میخوام بریده بریده، تنها شاخص من
و سپس بریده بریده دوره.
و هر دو از این خواستار روش renderCourses.
بنابراین دوباره، توابع کلاس اول و می توان گذشت
به عنوان آرگومان به روش.
بنابراین، در این app.get، من خواستار -
من عبور renderCourses به عنوان آرگومان.
و ارائه - و یا توابع می تواند راه اندازی مانند ور -
که من انجام شده بود ور زودتر renderCourses برابر عملکرد
و یا می توان آنها را فقط renderCourses عملکرد.
این کار بیش از حد را ندارد بسیاری از تفاوت.
شما می توانید در واقع آنچه ها نام تابع به نام
عبارات، که renderCourses ور برابر
renderCourses عملکرد.
و، به همین دلیل می خواهم به نام توابع ویژه
در گره است که آن را به شما می دهد یک پاک کن -
بیشتر قابل خواندن ردیابی پشته.
بنابراین اگر شما یک دسته کامل
از توابع بی نام آن را می گویند -
هنگامی که شما یک خطا در you'll کد شما -
شما نمی دانید که تابع آن را خواستار شما می خواهم که به نگاه
در شماره کد و شماره خط
و آن گاه آسان تر فقط به صورت بصری تجزیه
هنگامی که شما در واقع نام دارند
برای توابع خود را در سمت سرور.
بنابراین این renderCourses، اجازه دهید برنامه گره تماس بگیرید -
بنابراین من گوش دادن در هسته 3000 [آوایی].
و به این ترتیب همه این است که انجام درست در اینجا فقط گرفتن همه
دوره از پایگاه داده باشد.
من حتی آن را محدود پس از آن به انجام تعداد زیادی
از ردیف آن را بازگشت.
و به منظور انجام این کار،
در مدل البته وجود دارد ملک شخص است
نام مجموعه.
و من فقط آن را - I گفت: ایجاد یک مجموعه جدید
برای این دوره، و سپس آن را واکشی،
و سپس بازگشت به دوره مجموعه در اینجا در وعده.
بنابراین داخلی، دیوید در - نیمه کمی آموزش داده
در مورد وعده ها و وعده ها بسیار به شدت در هر دو Knex استفاده
و قفسه کتاب به خاطر آن آشنایی -
آن را به شما می دهد توانایی یک دسته
تماس های مختلف ناهمزمان و نوعی پس از پیوستن به یکدیگر
و یا اوردن چیزی، و پس از آن
با که تماس دیگر تماس پایگاه داده های آسنکرون
و بازگشت است که ارزش و سپس پرش به بعد پس از آن
و بعد پس از آن و پس از آن که گرفتن در پایان به مرتب سازی
از تقلید گرفتن امتحان کنید ناهمزمان رفتار با کد ناهمزمان،
چون شما آن را اکنون شاهد
اما آن را حتی سخت تر یک بار شما شروع به مقابله با آن.
کد آسنکرون فقط همه جا
در سمت سرور جاوا اسکریپت و واقعا به درجه بسیار بیشتر است
از شما به صورت استفاده شما جاوا اسکریپت انجام داده ام
در سمت سرویس گیرنده.
به طوری که واقعا، واقعا به شما کمک کرده وجود دارد.
اما فقط به شما نشان دهد بیانیه دیباگر
که من در مورد در صحبت کردن شد ابزار بازرس گره،
من قصد دارم به پیش بروید و پرتاب یک خط دیباگر در اینجا
در تابع renderCourses و ببینید که در آن است که به من منجر می شود
وقتی که من - تا گره بازرس می تواند نصب شود
با انجام NPM نصب با یک پرچم G،
که به معنی سراسری بازرس گره.
و آن را برای NMP واکشی و نصب آن در سطح جهان
برای برنامه های خود بنابراین شما می توانید آن را
از خط فرمان.
من در حال حاضر نصب از آن پس من میام جلو و -
در واقع آن را ممکن است صبر کنید آن را فقط می گیرم،
دو ثانیه صورت گرفت.
و چه بازرس گره دوباره به شما اجازه می دهد تا
انجام دهید این است که این بی سر نسخه کنسول دیباگر
که شما به هنگام کار مورد استفاده قرار گیرد در سمت سرویس گیرنده و قادر
برای متوقف کردن، فقط اضافه کردن مشخص اشاره در کد شما.
اعدام را متوقف و یک در چه خبر است نگاه کنید،
که واقعا باید در مفید آمده است اگر ویژگی
مانند که در دسترس بود
هنگام اشکال زدایی خود را کد PHP من مطمئن هستم.
بنابراین اجازه دهید فقط آن در آن نگاه کنید.
بنابراین من فقط می توانید تماس بگیرید بازرس گره
و آن را می گویم این URL بازدید پورت 5858 برای شروع اشکال زدائی،
که فقط به طور پیش فرض است برای چگونه از آن شروع می شود تا.
بنابراین، من در حال حاضر دارم - وجود دارد هیچ چیز در اینجا در رفتن
چون من نیاز به شروع می شود.
بنابراین گره بن بست [آوایی] پرچم اشکال زدایی و سپس app.js.
بنابراین آن را می گوید دیباگر گوش دادن روی پورت 5858،
گوش دادن به سرور اکسپرس در 3000.
بنابراین ما خوب به آن بروید.
اجازه بدهید من این را تازه کنید.
و در حال حاضر من می توانم app.js را ببینید کدی که من فقط نگاه بود
اما در اینجا در کنسول.
بنابراین در حال حاضر، اگر من سعی می کنم برای اجرای این، شما می توانید آن را ببینید، آن متوقف می شود.
این فقط منتظر دلیل آن کل اجرای کد در حال حاضر
متوقف در این دیباگر خط که من در آن وجود دارد قرار داده است.
و من اکنون می توانید سرور -
[نکته نامفهوم]
اوه، آره. کلمه کلیدی چیست میانبر برای زوم روی صفحه نمایش؟
آه وجود دارد.
آن را کردم. OK.
[مکث]
آه، آن را به دنبال ندارد [آوایی] که.
بنابراین، دوره های واقعا بزرگ
چرا که من انجام نمی محدود کردن بند و یا هر چیزی،
آن را فقط دلربا بانک اطلاعاتی کامل از دوره ها
که بسیاری از آنها را.
و به این ترتیب - که شی
که در واقع ممکن است سقوط توجه داشته باشید به عنوان مثال بازرس.
It's - OK.
اجازه بدهید من می توانم در یک حد و پس ما می توانیم نگاه کنند
هنگامی که آن را دلربا ندارد صدها دوره آموزشی.
بنابراین، کشتن سرور و بازرس
و من البته انجام حد پرس و جو جمع آوری 20.
بنابراین، در قفسه کتاب، بر خلاف در Laravel
که در آن شما فقط می توانید تماس بگیرید محدود کردن به طور مستقیم تماس بگیرید و یا هر گونه
از این روش SQL که استفاده می کنید
به طور مستقیم بر روی عنوان مثال ORM.
هر زمان که شما با استفاده از تنها روش SQL است که ارائه شده است
در Knex، شما را به پرس و جو تماس بگیرید به مرتب سازی
از به زنجیره ای پرس و جو ضربه بزنید.
و این را می توان با استناد به با هر دو تابع،
بنابراین شما می توانید، تابع می گویند این حد 10 و یا شما آن را
با مشخص که روش شما می خواهم به تماس بگیرید
در مثال Knex و پس از آن که ارزش.
بنابراین ما قصد داریم برای انجام محدود 20 و پس از آن راه.
ما در واقع نمی باید دیباگر در اینجا
چون ما فقط می تواند تعیین نقاط شکست
و است که باعث آسان تر است.
بسیار خوب.
بنابراین، اجازه دهید تنظیم نقطه انفصال حق در اینجا و سعی کنید آن را بارگذاری.
خط اشتباه است.
حق در اینجا.
[مکث]
OK. پس از آن دوباره متوقف شد.
بنابراین در حال حاضر، دوره است مخالفت با طول 20
و ما می توانیم دیدن همه ی مختلف مدل های که این ذهن است
از پایگاه داده حق در اینجا بنابراین من یک شی مدل کردم
است که، در داخل ویژگی های اموال
در شی همه چیز که آن را در پایگاه داده یافت نشد.
هیچ رویدادی است که ثبت نام شده
بنابراین شما می توانید ثبت نام رویداد های مختلف،
به عنوان مثال زمانی که مدل حذف شده است
و یا هنگامی که آن را از ذهن بودن،
شما می توانید راه های مختلف خواص و یا تغییر همه چیز.
در بسیاری از قلاب های مختلف وجود دارد و این ها همه مستند
در Bookshelf.js اسناد و مدارک است که به شما اجازه می
برای انجام این نوع از هر چیزی که شما واقعا می خواهید انجام دهید
با مدل های خود را و مجموعه ها.
شما می توانید - که به معنای در حال می شود واقعا قابل تنظیم
و واقعا برای آسان شما به آنها وفق دهند
به نیازهای خود را نرم افزار.
اما فقط به دنبال از طریق اینجا،
من می توانید ببینید چه مختلف دوره های در دسترس هستند.
و در این مورد، من در واقع به دریافت نشد
با داده های دیگر به غیر از فقط به دوره خود.
اما در مد مشابه سخنور ORM شما می توانید مجموعه
روابط، پس از دوره متعلق به استاد بسیاری از.
بنابراین، اگر من به جلو و متوقف کردن برنامه،
پرش به این بهانه تماس، شما می توانید گزینه های مختلف را مشخص کنید
که شما می خواهم به انتقال در طول آن.
و یکی از آنها است توانایی به بار کد مرتبط
با مشخص withRelated مدرسان پس از آن دوره.
بنابراین اجازه دهید به عقب برویم و تازه این در اینجا و دوباره متوقف شود.
بنابراین در حال حاضر، دوره شی، همان تعداد مدل ها،
اما در حال حاضر هر یک از مدل یک مخلوط روابط
است که مدرسان که این مربوط به.
بنابراین در این دوره به عنوان مثال
که البته 082 دارای دو مدل های مربی مرتبط.
و می توانید ببینید که چگونه بسیار آسان تر این است که برای مرتب سازی
از نظر بصری با از کار هنگامی که شما با خرید و فروش مواد
که شما نوع کد را تغییر دهید و سپس سعی کنید دوباره آن در PHP.
واقعیت این است که شما می توانید تنها به طور کامل متوقف اعدام
و ارزیابی آنچه که در اینجا و - در کنسول -
زوم کردن، دوره می باشد، شما می دانید،
آنچه که از دامنه های محلی متغیرهای در دسترس هستند
و این در حال حاضر جهانی شی چون که شما آن را دیدم،
مگر اینکه شما با یک تماس زمینه های خاص است، آن را نمی
به چیزی مربوط را در اینجا.
و پس از آن، - اجازه دهید من نشان می دهد چند مثال تر
اجرای وعده.
بنابراین به جای انجام این کار آموزش withRelated در اینجا من
رفتن به پیش بروید و حرکت این به بهانه و پس از آن دوره ها،
من قصد دارم به بازگشت آموزش courses.load.
و پس از آن - پس از آن با شما تماس بعد از آن.
[مکث]
بنابراین پس از آن در این نقطه، دوره باید بارگذاری شود
با مدرسان، که اقدام غیر همزمان است.
اما از آنجا که ما در حال بازگشت از وعده، مقدار بعدی
برای پس از آن است هر چه این بازده تماس ناهمزمان
که در این مورد بار یک روش در قفسه کتاب است
که در واقع برمی گرداند مجموعه خود را.
بنابراین آن را بارگذاری مدرسان در وجود دارد
و سپس شما می توانید مشخص کنید - اگر آن را فقط یک ملک است،
شما می توانید این مشخص به عنوان رشته، در غیر این صورت،
شما می توانید مدرسان انجام و مورد نیاز
به عنوان یک روش - با عرض پوزش، به عنوان یک آرایه.
و پس از آن اگر شما می خواهم برای به دست آوردن واقعا فانتزی و، هر
از این داده بازخوانی، شما می توانید آن را به عنوان یک مخلوط مشخص
با مربیان و پس از آن چه شما مانند پرس و جو به منظور محدود کردن در.
بنابراین، من می خواهم برای بارگذاری همه آموزش در دوره های که در آن -
تا QB برای سازنده پرس و جو که در آن وضعیت فعال است.
و شما می توانید واقعا فانتزی با هر
از نمایش داده شد مرتبط شما می خواهم برای ساخت.
اما، فقط در حال حاضر، ما در حال رفتن به چوب به فقط مدرسان
و ما در حال بازگشت است که ارزش
تا بعد بعد پس از آن باید تمام دوره های لود شده
تا به درستی.
و اگر خطایی وجود دارد در هر مرحله در آن زنجیره ای،
آن را به گرفتن پرش به پایین.
بنابراین اجازه دهید به جلو و اجرای آن.
پس هر زمان - بر خلاف PHP، یک حرکت نزولی است
"به دلیل گره" طولانی در حال اجرا است فرآیند، شما در واقع نیاز
برای جلوگیری از روند گره به عنوان کد خود را به روز کنید،
چون نسخه ای که آن را در حال اجرا در زمان اجرا است،
نسخه کد که لود شد
زمانی که نه آغاز شده چه چیزی شما را مرتب سازی بر
کد خود را به روز رسانی با بعد از آن.
OK. ما نقطه انفصال را تنظیم در اینجا، اینجا و تازه کردن.
[مکث]
اوه، من در واقع نمی بارگزاری مجدد این صفحه یا
پس از آن در فرایند بود.
بنابراین شما تازه کردن هر دو این و بازرس گره.
بنابراین در حال حاضر ما دوره را مشاهده کنید.
اگر ما فقط نمونه را یکی از این مدل ها،
ما می توانید ببینید که روابط شی خالی است، اما در حال حاضر -
و به این دلیل که شما نیاز دارید برای تعیین نقاط شکست است، خوب،
من به ذکر است که شما می توانید پرش به مسیر بسته را
و ببینید که می دانید، که در آن آن را در نرم افزار.
بنابراین در حال حاضر من می توانید ببینید چه چیزی اتفاق می افتد در روش بار،
که من تعریف کردم در مجموعه.
این نوع از "بار مشتاق روابط بر روی در حال حاضر ".
و شما می توانید از طریق گام به گام و ببینید که خط به خط
که در آن این مسائل است رفتن که فوق العاده است.
اگر شما چیزی که در کد خود را شکسته،
آن را پرتاب برخی از خطا و دوست دارید، من واقعا می خواهم هستید
برای دیدن جایی که این جریان است.
اما به محض اینکه شما را به اجرا چیزی ناهمزمان، -
آن را به آینده می رود تیک تیک از حلقه رویداد
و شما خود را از دست می دهند - شما محل خود را از دست می دهند
در بازرس گره.
بنابراین شما نیاز به گفتن نیست، "OK، یک بار من این از دست دادن،
به آن نیاز دارد را متوقف کنید در این خط دوباره. "
چون اگر من نگه داشته برخورد پایین، پایین پشته،
آن را در نهایت باید تنها گذشت من این تنظیم نشده بود
خط 22 خط شکسته آبی.
بنابراین در حال حاضر، اگر من نگاه در دوره های اینجا،
آن را در رابطه باید آموزش
و پس از آن استادان آنها را وصل کنید.
بنابراین، شما می توانید ببینید که من بازگشت یک وعده از این وعده اول
و پس از آن شما به طور مداوم می تواند انجام این کار را خط.
بنابراین وعده های مختلف، قول می دهم کتابخانه ها،
من استفاده می شود به نام بلوبرد که واقعا مفید است.
این می افزاید: بسیاری از خوبی از این برای تغییر ناهمزمان -
تغییر تماس بگیرید بازگشت کد پایه به مسائل
که به خوبی کار می کند با وعده.
اما - با عرض پوزش [نامفهوم] چه من که قرار بود به آن می گویند وجود دارد.
اجازه دهید یک نگاه هر چند در -
بنابراین اجازه دهید بگویم این بود که وجود دارد مشکل زمانی که آوردن چیزی.
بنابراین من این مسیر دیگر برای پیدا کردن البته به نام ID.
بنابراین اجازه دهید کار را البته 2.
آیا می توانم - البته JSON.
و این کار [نامفهوم].
[مکث]
من بوی چیزی اشتباه است.
نه در 3000، من در بود برگه بازرس کروم.
OK. بنابراین اجازه دهید به البته - JSON البته 1.
و این باز می گردد فقط در JSON فرمت، البته لود شده
با برخی از استادان.
اما به عنوان مثال من می خواستم به این است که،
من انجام البته JSON ID هستم.
و در پارامترهای فراخوانی، من تعیین نیاز واقعی،
است که گزینه ای است که در مستند در قفسه کتاب
که در آن گفت که: "اگر، من سعی می کنم و پیدا کردن این دوره
و آن وجود ندارد، پس از آن پرتاب خطا. "
و این باید توسط گرفتار گرفتن مسدود کردن اینجا.
بنابراین اجازه دهید پیش بروید و پرش به بازرس گره کنید و سعی کنید
و شکستن این و دیدن آنچه که ما داریم.
بنابراین اجازه دهید تنظیم یک استراحت در اینجا در این دوره JSON.
بسیار خوب.
من به دوره JSON بروید و من فقط در برخی قرار داده است -
[مکث]
این می تواند یک کمی روی حیله و تزویر گاهی اوقات هنگامی که شما در تلاش هستید
برای مدیریت که یکی تا به تجدید شده است
و که نیست - اجازه دهید را ببینید.
بنابراین آن را خواستار خطا پاسخ خالی است.
[مکث]
بیایید پرتاب یک دیباگر در اینجا.
از آنجا که از چگونگی گره در واقع بهینه سازی
برای زمان اجرا جاوا اسکریپت می شود تا به سرعت بر روی سرور،
گاهی اوقات دیباگر گره تا به برخی از خطا زمانی که شما سعی می کنید
و تعیین نقاط شکست به صورت پویا و شما در واقع نیاز
برای استفاده از دیباگر و نه خط به خط.
بنابراین اجازه دهید در صورتی که این ما را چه می خواهیم.
بنابراین من تعیین می کنند، app.get شماره درس JSON،
و من دیباگر من راه وجود دارد
در بیانیه ای گرفتن در پایین.
واکشی نیاز واقعی، که باید - همه حق است، وجود دارد ما، شکست.
بنابراین، در حال حاضر من می توانید ببینید که آن را متوقف کرد
در این بلوک catch نهایی به این دلیل که withRelated -
و یا به این دلیل که نیاز به درست مشخص شده است و هیچ دوره وجود دارد
با ID از این بزرگ تعداد طریق یک استثنا
که در حال حاضر Emessage.
و هر خطا در جاوا اسکریپت دارای یک ویژگی پشته
که می آید همراه با آن است.
بنابراین در آن اغلب مفید به عنوان مثال،
کنسول از سیستم خارج شوید e.stack.
و من در واقع می توانید ببینید وقتی که من ضربه خطا.
بنابراین من خطا خالی پاسخ، که پیام را
که از طریق قفسه کتاب فرستاده شد.
اما در حال حاضر، من می توانم نگاه کنند در، در تماس پشته و ببینید
که در قفسه کتاب مدل لهجه های SQL 83،
این پاسخ خالی خطا پرتاب شد.
و این جایی است که من ذکر شد، آن را نقطه ناشناس
به خاطر آن ناشناس عملکرد.
در صورتی که یک تابع به نام بود شما می توانید ایده های بهتر
که عمل در واقع از طریق بدون نیاز به رفتن
به کد model.js.
هر چند که به معنای به نسبتا، نسبتا قابل خواندن،
بنابراین من می توانم که آنلاین را ببینید.
اما چیزی که آنها می گویند را من خط 83 بود.
بنابراین، اگر options.require و پاسخ وجود نداشت،
آن را هم اکنون می اندازد جدید خطا پاسخ خالی است.
بنابراین شما می توانید زیبا را ببینید ساده چگونه است که کار می کند.
و داخلی در قفسه کتاب،
فقط یک کل وجود دارد دسته از استفاده از وعده.
بنابراین شما می توانید مشخص کنید Promise.method
با کتابخانه بلوبرد نگه می دارد که در چهار چوب صحیح
این در حالی بازگشت وعده.
و به این ترتیب من - من الزام آور ارزش این مشابه
به آنچه که من مطرح ساختم قبل از آن، اما با استفاده از وعده های
و پس از آن من می توانم - جدید است.
این را می توان ناهمگام یا اگر من می خواهم.
و سپس من مقداری انجام چیزهای دیگر که ممکن است
یا ممکن است ناهمزمان و پس از آن انواع جهش را در این.
بنابراین Promise.all یاور است که بسیاری از کتابخانه های محبوب
که در آن شما می توانید دارند مجموعه ای از به طور بالقوه ممکن است
و یا ممکن است وعده داده است.
و یک بار تمام کسانی که می کامل، شما بازگشت که
و سپس آن را جهش به خط بعدی
و شما می توانید ببینید که چگونه آن را واقعا مسطح از هرم
که کسب می کنید، جهنم پاسخ به تماس به عنوان شناخته شده آن
اگر شما در حال انجام همه چیز با تماس مجدد خط به خط.
راه هایی برای دور زدن وجود دارد که اما وعده یکی هستند
از بهترین راه به نظر من
واقعا کد خود را نگه دارید تمیز و آسان را بخوانید.
به طوری که فقط یک کوتاه مقدمه ای بر جاوا اسکریپت
و به قفسه کتاب و Knex به طور کلی.
و، اگر هر گونه سوال وجود دارد، من می دانم که یک تن از مواد است
به نوعی سعی و پوشش به ویژه پس از زبان،
بر خلاف بسیاری که شما می با این همه من فقط می خواستم آشنا
آن را به طوری که حداقل اگر شما با داشتن مشکلات
با کد خود را، شما می توانید نوع پرش در -
این چیزی است که من می خواهم به انجام این کار است، مرتب کردن بر اساس به کتابخانه پرش به
که من با استفاده از و ببینید چگونه همه چیز ساخته شده است.
یکی که من ذکر شده بود وجود دارد پیش از آن به نام Backbone.js
و در واقع آن را [نامفهوم] در سمت سرویس گیرنده
برای کمک به را مشاهده مدل ها ساختار کنترل
به کد شما.
اما در واقع تا منبع مستندات مشروح
که اجازه می دهد تا شما را به نوع را ببینید.
این واقعا خوب مستند، چه خبر است،
چگونه آن را افزایش قابلیت آژاکس
و یا قابلیت های رویداد و یا مدل ها و مجموعه مرتب سازی بر
از توضیح آنچه که در این فرایند.
و اگر شما را در درک اصول اولیه جاوا اسکریپت
مانند وراثت وابسته به طرح اصلی یا نمونه اصلی و چقدر از توابع استفاده می شود
به عنوان هر دو اشیاء و ارزش و کلاس و همه چیز.
این باعث می شود آن را بسیار آسان تر به درک چه خبر است
در به طور بالقوه در کتابخانه هایی که شما با استفاده از
و کد دیباگر و قادر نمی شود کوبیدن سر خود را
در مقابل دیوار به دلیل شما نمی فهمید که چگونه
تکه های مختلف در حال کار، به طوری که.