Kami sekarang memiliki permainan wanita kecil sederhana kami disatukan.
Jika pengguna mengklik tombol lebih dari lima kali maka kami menganggap mereka memilikinya.
Kalau tidak, mereka kalah.
Jadi game pasti berfungsi seperti apa adanya sekarang.
Tapi saya mulai membuat kasus itu di akhir bagian terakhir bahwa mungkin cara kami menulis
game ini bukan yang terbaik di dunia.
Saya membuang kasus di mana kami mungkin ingin membiarkan beberapa pengembang lain menjalankan game ini.
Benar juga seperti kita mungkin ingin mempublikasikan hal ini sebagai fungsi atau seperti paket mandiri.
Jadi pengembang lain dapat menjalankan game dan kemudian kami harus mengizinkan mereka menentukan apa yang
harus dilakukan setiap kali pengguna berhasil menyelesaikan atau gagal game.
Jadi berpikir tentang ini dari sudut pandang diagram, inilah yang saya sarankan.
Saya mengatakan bahwa saya ingin memiliki pengalaman game yang sama persis, tetapi saya ingin membungkus
semua logika game menjadi satu fungsi yang diwakili oleh latar belakang biru atau cyan.
Saya kemudian ingin mengizinkan pengembang lain untuk memulai permainan dan menentukan dengan tepat apa yang harus terjadi
jika pengguna berhasil dalam permainan atau mereka gagal dalam permainan.
Jadi dengan kata lain saya ingin memperbaiki semua basis kode kita saat ini yang mewakili permainan ini menjadi
satu fungsi yang dapat dipanggil di mana pengembang lain dapat menentukan apa yang harus dilakukan setelah
permainan dimainkan.
Jadi mari kita lakukan refactor ini.
Dan saat kita melangkah, kita akan memperkenalkan topik tentang janji dan mencari tahu bagaimana mereka bekerja.
Jadi saya agak kembali ke kode saya dan hanya untuk memulai kita akan melakukan
sedikit refactor untuk pertama-tama menempatkan seluruh permainan kita ke dalam fungsi mandiri.
Jadi di bagian paling atas di bawah tag skrip saya akan mendeklarasikan fungsi yang disebut game start.
Saya akan menempatkan kurung kurawal pembuka.
Saya akan mengambil semua logika permainan saya.
Saya akan indentasi pada suatu waktu dan saya akan menutup penjepit keriting itu.
Di sini, di bagian bawah, sekarang seluruh permainan saya terbungkus dalam awal ini.
Fungsi game.
Jadi sekarang telah semacam berhasil menempatkan semua logika permainan saya ke dalam fungsi mandiri tetapi fungsi mandiri masih merangkum
apa yang harus dilakukan dalam kasus sukses dan gagal hanya untuk memastikan bahwa semuanya masih
bekerja dengan tepat.
Saya akan menambahkan panggilan untuk memulai permainan di bawah deklarasi fungsi.
Jadi di sini saya akan memanggil mulai permainan seperti itu.
Dan sekarang kembali ke dalam chrome kita akan menyegarkan dokumen dan memastikan semuanya masih berfungsi.
Jadi di sini kita semua refresh akan menunggu dua detik dan OK semuanya untuk permainan
masih berfungsi seperti yang saya harapkan.
Jadi kode kami seperti saat ini sekarang Anda tahu lagi masih berfungsi tetapi kami tidak menyediakan antarmuka yang
bagus untuk pengembang lain yang ingin memanggil game awal.
Itulah tujuan keseluruhan di sini.
Saya ingin entah bagaimana menentukan apa yang harus dilakukan ketika pengguna menang.
Setiap kali saya memanggil start game untuk melakukannya, kami akan memperkenalkan gagasan tentang janji yang sekarang dijanjikan.
Saya telah menjelaskan kepada pengembang berkali-kali dan melalui setiap waktu saya telah menjelaskan dengan tepat bagaimana
proses berperilaku.
Saya telah menemukan persis satu hal yang memberi tahu Anda bagaimana mereka bekerja tidak tidak memberikan pengetahuan tentang
janji.
Dengan kata lain saya bisa duduk di sini dan memberi kuliah sepanjang hari tentang apa yang dijanjikan tetapi itu tidak sepenuhnya diterjemahkan.
Anda benar-benar harus melihat hal-hal ini beraksi.
Jadi inilah yang akan kita lakukan.
Daripada meminta saya duduk di sini dan membicarakan tentang janji tanpa henti, kita hanya akan memperbaiki kode kita untuk memanfaatkan
janji dan kemudian setelah kita melakukannya setelah kita mendapatkannya di tempat kita akan membuat beberapa
pengamatan tentang bagaimana tepatnya bekerja.
BAIK.
Jadi kita akan melakukan reaktor terlebih dahulu.
Ini akan menjadi sedikit misterius tetapi kemudian kita akan berbicara tentang cara kerjanya.
Jadi untuk memperbaiki kode kita untuk menggunakan janji-janji, saya akan memulai dengan menghapus seluruh pernyataan pengaturan waktu dalam dan satu-satunya
alasan saya menghapusnya adalah karena saya ingin menulis hal ini
dari awal untuk memastikan itu benar-benar jelas untuk Anda persis apa yang terjadi.
Jadi di tempat-tempat yang menetapkan waktu saya akan menulis kembali janji baru dan perhatikan bahwa saya menggunakan huruf P
di sini.
Saya kemudian akan melewati fungsi janji ini atau janji ini apa pun itu di sini fungsi
panah gemuk.
BAIK.
Jadi saya baru saja melewati lemak atau fungsi seperti itu.
Setiap kali saya menyatakan janji baru, fungsi batiniah yang saya sampaikan ini disebut dengan
dua argumen, putuskan dan tolak.
Sekarang di dalam jika Anda akan menempatkan logika yang sama persis atau hampir sama persis yang kami miliki sebelumnya
dengan waktu yang ditetapkan saya akan mengatakan set.
Waktu habis.
Saya akan memberikannya fungsi sebagai argumen kedua.
Saya akan mengatakan 2000 milidetik.
Kemudian di dalam set time out kita dapat mengatakan apakah penghitung lebih besar dari 5 dan di
sinilah hal-hal menjadi menarik daripada mengatakan sesuatu tentang peringatan atau sesuatu seperti itu saya akan melihat argumen
ini.
Argumen tekad ini saya akan menyebutnya lagi.
Saya tahu saya memuntahkan banyak kode yang terlihat misterius tapi tetap saya miliki.
Kita akan menyelesaikan implementasi di sini dan kemudian berbicara tentang apa yang terjadi sekarang pada
pernyataan L seperti halnya di mana pengguna gagal.
Saya bermaksud menambahkan pada panggilan untuk menolak Sekarang sedikit terakhir.
Satu sedikit terakhir di sini di bagian bawah di mana saya sebut start game lagi atau pindahkan
titik koma di akhir dan sebagai gantinya saya akan menggantinya dengan pada titik baris baru.
Lalu saya akan melewati fungsi di mana saya akan mengingatkan Anda kapan dan kemudian satu hal terakhir.
Satu hal lagi di sana bersamaku.
Paling bawah.
Setelah itu saya akan menambahkan pada tangkapan dan mengingatkan Anda hilang.
OK jadi banyak perubahan kami baru saja membuat banyak perubahan dan kemungkinan banyak itu terlihat sedikit aneh.
Benar-benar baik-baik saja.
Benar-benar apa yang saya harapkan.
Pertama-tama mari kita jalankan ini di dalam browser kita dan verifikasi bahwa semuanya berfungsi dan kita akan membicarakan apa yang
sebenarnya terjadi di sini.
Jadi kita akan memastikan bahwa saya pertama-tama menyimpan dokumen sehingga semuanya disimpan.
Pergi untuk membalik ke Chrome atau menyegarkan dokumen atau klik tombol.
Yah saya kira saya tidak cukup masak dan karena saya melihat Anda terakhir.
Mari kita bawa kasus kemenangan di sini.
Klik klik klik dan Anda menang.
Ingatlah bahwa untuk memulai kembali permainan, Anda perlu menyegarkan kembali peramban.
Klik klik klik dan saya menang.
BAIK.
Jadi jelas ada sesuatu yang bekerja di sini.
Jelas ada sesuatu yang masih bekerja tetapi apa-apaan ini janji.
Apa ini diselesaikan dan tolak apa van ini dan tidak menangkap di bagian bawah.
Mari kita istirahat sebentar.
Kita akan kembali berbicara tentang bagaimana janji-janji bekerja dan kemudian kita semua akan selesai dengan penyegaran pada
janji-janji.
Hanya satu bagian lagi yang akan dibungkus dengan penyegaran kami.
BAIK.
Sampai jumpa dalam satu detik.