بِسْـــــــــمِ ﷲِالرَّحْمَنِ الرَّحِيم. اَللَّهُمَّ صَلِّى عَلَى مُحَمَّدٍٍ، وَعَلَى آلِهِ مُحَمَّدٍٍ
Controller tak tunggu function async habis kerja
Salah satu perkara yang Tedi tak berapa nak faham pasal AngularJS ini ialah function function dalam controller tak semestinya akan beroperasi ikut turutan.
Akan ada function yang hanya dipanggil controller dan kemudian ditinggalkan tanpa menunggu ia pulangkan apa-apa. Function ini adalah function async. Kelebihannya proses load akan lebih pantas.
Jadi kesilapan yang Tedi buat adalah Tedi mengharapkan fungsi async ni untuk return value yang akan digunakan function lain. Hasilnya function lain tu menerima nilai undefined kerana value yang sebenarnya hanya tiba setelah function lain ini dipanggil.
Untuk membaiki masalah ini Tedi kena hantar function apa kepada function itu untuk dilaksanakan setelah function async itu siap. Kita hantar function ini dalam parameter, mungkin lebih terkenal sebagai callback function.
Silap susunan semasa declare dan panggil function
Hari ini seharian Tedi memikirkan kenapalah function file upload menggunakan plug in jQuery blueimp/jQuery-File-Upload tak jalan-jalan di mana options done tidak triggered.
Rupa-rupanya kod Tedi telah declare $scope.options terlebih dahulu sebelum $scope.done dan $scope.fail, iaitu dua function yang akan triggered by $scope.options. Susunan yang betul ialah $scope.done dan $scope.fail kita declare sebelum $scope.options.
Menggunakan directive angularJS kita boleh gunakan directive file-upload:
~20210826~
jika kiriman ini bermanfaat, tolong lawat iklan yang ada ya, terima kasih
0 Ulasan
Buah cempedak di luar pagar, ambil galah tolong jolokkan.
Tedi budak baru belajar, salah tak salah tolong komenkan.