Я делаю 3 запроса api post к wordpress api: 2 запроса api post к wp-json / wp / v2 / media, поэтому загружайте изображения 1 post запрос api на wp-json / wp / v2 / posts для сохранения source_url (который был получен из двух предыдущих запросов api post) в новое сообщение, которое создается.
Последний api зависит от первых 2 вызовов api-запроса и не должен выполняться, пока эти 2 api не будут завершены поскольку мне нужны значения из их обратного вызова, которые будут использоваться в моем последнем вызове запроса api.
Моя текущая проблема заключается в том, что все мои вызовы запросов api выполняются одновременно, и поэтому значения мне нужны с первого 2 запроса вызова api не готовы, и они отображаются как пустые в моем последнем вызове запроса api.
submitStory() {
this.beforeImageUpload = this.transfer.create();
this.beforeImageUpload.upload(this.beforeImageURL, this.url + "wp-json/wp/v2/media", {
headers: {
"Authorization": "Basic xxxxxxx",
"content-disposition": "attachment; filename=\'before-image.jpg\'"
}
})
.then((data)=>{
return JSON.parse(data.response);
})
.then((data) => {
this.before_image = data.source_url;
}, (err) => {
console.log(err);
})
this.afterImageUpload = this.transfer.create();
this.afterImageUpload.upload(this.afterImageURL, this.url + "wp-json/wp/v2/media", {
headers: {
"Authorization": "Basic xxxxxxxx",
"content-disposition": "attachment; filename=\'after-image.jpg\'"
}
})
.then((data)=>{
return JSON.parse(data.response);
})
.then((data) => {
this.after_image = data.source_url;
}, (err) => {
console.log(err);
})
let postData = {
"title": capital_letter(this.firstname + " " + this.lastname + "'s Story"),
"content": this.description,
"before_image": this.before_image,
"after_image": this.after_image
}
this.http.post(this.url + "wp-json/wp/v2/stories", postData, {
headers: {
"Authorization": "Basic xxxxxxx",
"Accept": "application/json",
"Content-Type": "application/json"
}
}).subscribe(data => {
console.log(data);
}, error => {
console.log(error);
});
this.router.navigate([`stories`]);
}