Bisakah seseorang menjelaskan kepada saya bagaimana cara $q.when
kerjanya di AngularJS? Saya mencoba menganalisis cara $http
kerja dan menemukan ini:
var promise = $q.when(config);
Dan inilah objek konfigurasi dari konsol Chrome:
Object {transformRequest: Array[1], transformResponse: Array[1], cache: Object, method: "GET", url: "/schedule/month_index.html"…}
cache: Object
headers: Object
method: "GET"
transformRequest: Array[1]
transformResponse: Array[1]
url: "/schedule/month_index.html"
__proto__: Object
Apa yang terjadi selanjutnya? Bagaimana objek ini diselesaikan atau ditolak?
Jawaban:
Panggilan
$q.when
membutuhkan janji atau jenis lainnya, jika itu bukan janji maka itu akan membungkusnya dalam janji dan keputusan panggilan. Jika Anda memberikan nilai padanya maka nilai itu tidak akan pernah ditolak.Dari dokumen:
sumber
If you pass a value to it
- tetapi bagaimana jika saya melewati objek?$q.when(myfunc)
, atau dengan menerapkan fungsi Anda lewat di:$q.when(myfunc())
? Aku tidak tahu persis apa yang akan dilakukan mantan ... yang terakhir akan memanggilmyfunc()
lebih dulu, dan meneruskan nilai janji yang dikembalikan ke.when()
.