Adakah yang bisa mengarahkan saya ke contoh atau membagikan cuplikan kode tentang cara menyatukan beberapa permintaan, ketika hasil dari permintaan pertama harus digunakan untuk membuat permintaan kedua, dll.?
Anda dapat mengaitkan hasil karena itu adalah janji biasa:
axios.get(...)
.then((response) => {
return axios.get(...); // using response.data
})
.then((response) => {
console.log('Response', response);
});
Dalam contoh ini, response
kembali sebagai tidak terdefinisi bahkan ketika permintaan berhasil?
Tidak, itu harus didefinisikan. Perhatikan pernyataan return
. Anda mungkin melewatkannya.
ayyyy
Dan bagaimana Anda menangkap kesalahan individu dalam kasus ini?
Saya memiliki loop (untuk) untuk mengirim pos aksio, dan saya telah menemukan bahwa setiap permintaan belum dikirim setelah setiap loop, mereka telah mengirim bersama setelah Anda mengulang
ini kode saya
`
for (misalkan i = 0;i < berbeda;i++) {
tem.start = momen(mulai).tambah(i, 'hari').format('YYYY-MM-DD')
tem.end = momen(tem.start).endOf('hari').format('YYYY-MM-DD 23:59:59')
tem.date = tem.start
// jika (V.hasSameValue(title, tem.start, tem.end))lanjutkan
V.addEventsToCalendar(tem)
}
addEventsToCalendar: (acara) => {
axios.post(requestUrl('calendar'), {...event})
.kemudian(res => {
V.eventsRender(V.dataToEvent([res.data]))
kiat sukses()
})
.catch(Tips kesalahan)
},
`
@Liaohuanle
For tidak sinkron, tidak menunggu akhir setiap operasi. Alih-alih loop Anda dapat menggunakan rekursi sederhana.
Mengapa tidak mencoba ini saja?
axios.get(...)
.then((response) => {
axios.get(...)
.then((response) => {
console.log('response);
})
})
@alejogamboa Namun panggilan balik lagi, bagaimana menurut Anda?
var array = [0,1,2];
axios.get('api/' + array[0]).then(response => {
axios.get('api/' + array[1]).then(response => {
axios.get('api/' + array[2]).then(response => {
alert('done');
});
});
});
bagaimana cara rantai itu berdasarkan array?
@jericopulvera lihat menggunakan
axios.all([])
for (...) {
arr.push(axios.get("url"));
}
let result = await axios.all(arr);
console.log(res);
Sudah punya solusinya di sini #1413
Komentar yang paling membantu
Anda dapat mengaitkan hasil karena itu adalah janji biasa: