Я пытаюсь реализовать это, но мне нужна помощь (я новичок в этом).
У меня сейчас есть,
constructor(http: HttpClient, private cvservice: CvService) {
const req = http.post<any>('url', [{
"name": "ids",
"license": "GPL version 2"
}])
.subscribe(
res => {
console.log(res);
var resp = res.Results[0].results.map(x => {
return {cvid: x.ID, severity: x.CVSS };
} );
this.data = [...resp];
},
err => {
console.log("Error occured");
}
);
}
Это прекрасно работает, за исключением того, что мне нужно синхронизировать http.post (для продолжения нужны результаты [0]), и я использую предложение от, Как синхронизировать Angular2 http get? .
Я изменил службу как,
export class CvService {
constructor(private http: HttpClient) {
}
url = 'foo';
getIds():Observable<any[]> {
const url='xxx';
return this.http.post(url, [{
"name": "ids",
"license": "GNU General Public License GPL version 2"
}])
.map(
res => {
res.Results[0].results.map( x => {
return {cvd: x.ID, severity: x.CVSS };
}));
}
}
}
Но я думаю, что этот синтаксис неправильный. Это дает ошибку компиляции. Может кто-нибудь уточнить, пожалуйста, правильный способ использования функции карты здесь