function getMenus() {
if (!localStorage.getItem('menus')) {
var defer = $q.defer();
$http.get('api/menu').success(function (res) {
// scope.menuList = res;
localStorage.setItem('menus', res)
defer.resolve();
return defer.promise;
}).error(function (err) {
defer.reject()
return defer.promise;
});
}
}
getMenus().then(function () {
scope.menuList = localStorage.getItem('menus')
})
Hasil pulangan ialah angular.min.js:107 TypeError: Tidak dapat membaca sifat 'kemudian' yang tidak ditentukan
Sila beritahu saya apa yang salah. . . . .
Ralat dilaporkan kerana fungsi getMenus tidak mempunyai nilai pulangan, js mengembalikan tidak ditentukan secara lalai, dan kemudian dinaikkan pada undefined, jadi ralat dilaporkan
Penyelesaian:
Inisialisasi dalam baris pertama getMenus
Akhirnya kembalikan tangguh.janji sebagai nilai pulangan
Ini sepatutnya menjadi keputusan muktamad
Sudah tentu akan ada masalah jika anda membalas janji dalam panggilan balik kejayaan dan ralat