Я пытаюсь реализовать простой шаблон обещания в угловом2. Идея состоит в том, чтобы выполнить блок кода, когда оба обещания будут решены.
Подход с Promise.all()
и проходящей там обещания в моей службы:
predict(data): Promise<any> {
let headers = new Headers({'Content-Type': 'application/json'});
let dataString = JSON.stringify(data);
return this.http
.post(`${this.baseUrl}/predict`, dataString, headers)
.toPromise()
.then(
(res: Response) => Promise.resolve(res.json())
)
.catch(
(err) => Promise.reject(err)
);
} // predict
и контроллер компонента:
promiseOne = this.apiservice.predict(titleToPredict);
promiseTwo = this.apiservice.predict(secondTitleToPredict);
Promise.all(promiseOne, promiseTwo)
.then(data => console.log(data))
.catch(err => console.log(err));
Но машинопись возвращает мне Supplied parameters do not match any signature of call target.
Как я знаю, методы являются обещаниями, поэтому ... я не могу понять, в чем проблема.
Вы должны опустить ненужные 'Promise.resolve' и' .catch ((err) => Promise.reject (err)) ' – Bergi