[英]NativeScript How to pass Data from service to component?
我有一個制作HttpGet方法的service
,我想將服務器返回的對象傳遞給Task component
數組
我知道使用Promise是更好的方法,但是我不太熟悉它。
所以這是我到目前為止所做的:
零件 :
userTaskList: Task[ ];
this.data=this.taskService.getAllTasks()
this.userTaskList.push(this.data);
服務內容:
getAllTasks() {
const req = this.http.get(`${this.serverUrl}/GetTasks`).toPromise().then(
res => {
console.log("success" , res);
});
}
我在日志中得到了對象。
success [{
JS: "Id": 27,
JS: "UserId": 12,
JS: "Name": "Teeest",
JS: "Description": "99",
JS: "Latitude": 0,
JS: "Longitude": 0,
JS: "Radius": 99,
JS: "Created": "2018-08-29T14:01:51.0272032+03:00",
JS: "LastUpdate": "2018-08-29T14:01:51.0272032+03:00",
JS: "IsActive": true
JS: }]
但是如何將其發送到組件? 我想在userTaskList
列出對象。
謝謝 !!
我知道它是使用Promise的更好方法,但是我不太熟悉。
一點都不。 promise不支持,重試,防抖動,switchMaps等。
更不用說http請求是自動完成的(rxjs POV)
無論如何:
將您的代碼更改為:
零件 :
this.taskService.getAllTasks().toPromise().then((data)=> { this.userTaskList = data});
服務內容:
getAllTasks() {
return this.http.get(`${this.serverUrl}/GetTasks`) ;
}
要么
async foo(){
let data = await this.taskService.getAllTasks().toPromise() ;
this.userTaskList = data
}
服務應公開功能而無需調用。 調用時,您將獲得該值。
順便說一句-我會用Observable完成的。 但我繼續您的榜樣。
所以我會用這個:
this.taskService.getAllTasks().subscribe((data)=> { this.userTaskList = data});
getAllTasks() {
return this.http.get(`${this.serverUrl}/GetTasks`) ;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.