У меня есть этот вложенный цикл обещаний, и в конце он завершает цикл for, который помещает элементы в массив файлов.
public async content() {
let files = [];
return new Promise(async (resolve, reject) => {
await this.axios.get(this.currentRequest).then(async biosample => {
await this.axios.get(this.currentRequest + biosample.data.item).then(async datasets => {
for (let i = 0; i < datasets.data.Items.length; i++) {
await this.axios.get(this.currentRequest + datasets.data.Items[i].Id).then(response => {
files.push(response.data.Item);
}).catch(reason => {
reject(reason)
});
}
})
}).catch(function (error) {
reject(new Error(error.response))
});
resolve(files)
})
}
Звонки сделаны правильно, потому что если я использую Promise.all([promises here])
, то это работает.Но я пытаюсь научиться правильно связывать обещания.
Когда я отлаживаю с помощью наборов данных веб-шторма, кажется, они определены и обладают необходимыми свойствами.