NativeScript 如何将数据从服务传递到组件?
NativeScript How to pass Data from service to component?
我有一个 service
,它创建了一个 HttpGet 方法,我想将 returns 的对象从服务器传递到 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
.
中列出对象
谢谢!!
i know its a better approach to use Promise, but i'm not so familiar
with it.
没有。一点也不。 promise 不支持 , retries , debounces , 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`) ;
}
我有一个 service
,它创建了一个 HttpGet 方法,我想将 returns 的对象从服务器传递到 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
.
谢谢!!
i know its a better approach to use Promise, but i'm not so familiar with it.
没有。一点也不。 promise 不支持 , retries , debounces , 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`) ;
}