如何从打字稿回调中取回我的数据?
How do I get my data back from a typescript callback?
我习惯在javascript中使用回调,但才刚刚开始学习Angular和打字稿,所以我不太确定如何让它工作。
到目前为止,这是我的代码。回调确实有效。当它输出时,我的 console.log 顺序正确,这意味着回调正在工作。
但是,我需要将我的数据从服务中取出,回到我正在安慰的地方。我不确定执行此操作的正确格式。我用谷歌搜索了答案,但没有找到正确的组合。我正在使用 Callback(data) 发回我的数据,但我不知道如何接收它。
//Output
running
Got some data etc
Finished
// In Component
constructor(private imageService: ImageService) {
console.log('running');
this.imageService.test(()=>{
console.log('Finished');
});
}
// In a service
test(CallBack: { (callback: any): void; (): void; }) {
this.httpClient.post('http://localhost/api/gallery/buildGallery', this.postData)
.subscribe((data)=>{
console.log('Got some data',data);
CallBack(data);
},(error)=>{
console.log('error');
CallBack ();
});
}
让我们这样试:
Component :
constructor(private imageService: ImageService) {
console.log('running');
this.imageService.test(...).subscribe(res => {
console.log(res);
});
}
Service :
test(postData: any): Observable<any> {
return this.httpClient.post('http://localhost/api/gallery/buildGallery', postData);
}
这里是How to handle errors on subscribe的一些例子。它应该看起来像:
this.imageService.test(...).subscribe(
res => {
console.log('Success : ', res);
},
error => {
console.error('Error :', error);
}
);
我习惯在javascript中使用回调,但才刚刚开始学习Angular和打字稿,所以我不太确定如何让它工作。 到目前为止,这是我的代码。回调确实有效。当它输出时,我的 console.log 顺序正确,这意味着回调正在工作。 但是,我需要将我的数据从服务中取出,回到我正在安慰的地方。我不确定执行此操作的正确格式。我用谷歌搜索了答案,但没有找到正确的组合。我正在使用 Callback(data) 发回我的数据,但我不知道如何接收它。
//Output
running
Got some data etc
Finished
// In Component
constructor(private imageService: ImageService) {
console.log('running');
this.imageService.test(()=>{
console.log('Finished');
});
}
// In a service
test(CallBack: { (callback: any): void; (): void; }) {
this.httpClient.post('http://localhost/api/gallery/buildGallery', this.postData)
.subscribe((data)=>{
console.log('Got some data',data);
CallBack(data);
},(error)=>{
console.log('error');
CallBack ();
});
}
让我们这样试:
Component :
constructor(private imageService: ImageService) {
console.log('running');
this.imageService.test(...).subscribe(res => {
console.log(res);
});
}
Service :
test(postData: any): Observable<any> {
return this.httpClient.post('http://localhost/api/gallery/buildGallery', postData);
}
这里是How to handle errors on subscribe的一些例子。它应该看起来像:
this.imageService.test(...).subscribe(
res => {
console.log('Success : ', res);
},
error => {
console.error('Error :', error);
}
);