Axios: Contoh cara merangkai beberapa permintaan?

Dibuat pada 15 Feb 2017  ·  12Komentar  ·  Sumber: axios/axios

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.?

Komentar yang paling membantu

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);
  });

Semua 12 komentar

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

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

altruisticsoftware picture altruisticsoftware  ·  3Komentar

achingbrain picture achingbrain  ·  3Komentar

StefH picture StefH  ·  3Komentar

reggi picture reggi  ·  3Komentar

Adman picture Adman  ·  3Komentar