Rumah  >  Artikel  >  hujung hadapan web  >  rangkaian uniapp meminta penyegerakan tak segerak

rangkaian uniapp meminta penyegerakan tak segerak

WBOY
WBOYasal
2023-05-22 09:58:373892semak imbas

Dalam pembangunan aplikasi mudah alih, permintaan rangkaian adalah keperluan biasa. Sebagai rangka kerja pembangunan merentas platform, uniapp menyediakan API permintaan rangkaian, membolehkan pembangun menyelesaikan operasi permintaan rangkaian dengan mudah. Dalam permintaan rangkaian, tak segerak dan segerak ialah dua kaedah yang berbeza Berikut akan memperkenalkan kaedah tak segerak dan segerak permintaan rangkaian uniapp.

1. Permintaan rangkaian tak segerak uniapp

Permintaan rangkaian tak segerak bermakna selepas permintaan dikeluarkan, utas utama tidak akan disekat, tetapi permintaan itu akan diproses dalam utas latar belakang. Dalam uniapp, kaedah tak segerak permintaan rangkaian diselesaikan terutamanya melalui API, iaitu uni.request. API dipanggil seperti berikut:

uni.request({
  url: '',
  data: {},
  header: {},
  method: '',
  success: res => {},
  fail: () => {},
  complete: () => {}
})

API menerima objek sebagai parameter Sifat objek ialah:

  • url: URL yang Diminta
  • data. : Data yang diminta boleh dalam format JSON/XML
  • pengepala: Maklumat pengepala yang diminta, seperti Jenis Kandungan, dsb.
  • kaedah: Kaedah yang diminta, seperti GET/POST, dsb.
  • kejayaan: fungsi panggil balik selepas permintaan berjaya, parameter ialah data yang dikembalikan oleh pelayan
  • gagal: fungsi panggil balik selepas permintaan gagal
  • lengkap: fungsi panggil balik selepas permintaan selesai, sama ada berjaya atau gagal Semua panggilan balik

Perlu diambil perhatian bahawa memandangkan permintaan tak segerak tidak menyekat urutan utama, hasil permintaan tidak boleh dikembalikan secara langsung. Hasil permintaan perlu dihantar ke fungsi panggil balik dan diproses dalam fungsi panggil balik.

2. Permintaan rangkaian segerak Uniapp

Permintaan rangkaian segerak bermakna selepas permintaan dikeluarkan, urutan utama akan disekat menunggu keputusan permintaan dikembalikan. Dalam uniapp, API untuk permintaan segerak adalah berbeza daripada permintaan tak segerak, iaitu, uni.requestSync digunakan untuk menghantar permintaan. Kaedah panggilan API ini adalah seperti berikut:

try {
  const [err, res] = uni.requestSync({
    url: '',
    data: {},
    header: {},
    method: ''
  })
  if (err) {
    console.error('请求失败')
  } else {
    console.log(res.data)
  }
} catch (e) {
  console.error('请求出错')
}

Parameter API ini juga menerima objek, tetapi perbezaannya ialah nilai pulangannya ialah tatasusunan, elemen pertama ialah mesej ralat dan yang kedua elemen ialah pelayan Data dikembalikan. Memandangkan permintaan segerak akan menyekat urutan utama, gunakan pernyataan cuba-tangkap untuk menangkap pengecualian.

3. Perbezaan antara tak segerak dan segerak

  1. Menyekat utas utama

Permintaan segerak akan menyekat utas utama, yang akan menyebabkan aplikasi menjadi menjadi tidak responsif dan pengalaman pengguna akan menjadi buruk. Permintaan tak segerak tidak menyekat utas utama, yang boleh meningkatkan kelajuan tindak balas aplikasi dan memberikan pengalaman pengguna yang lebih baik.

  1. Kaedah pengendalian adalah berbeza

Memandangkan permintaan segerak menyekat urutan utama, nilai pulangannya boleh digunakan terus. Memandangkan permintaan tak segerak diproses di latar belakang, hasil permintaan tidak boleh digunakan secara langsung dan perlu diproses melalui fungsi panggil balik.

  1. Senario aplikasi yang berbeza

Permintaan segerak sesuai untuk senario di mana data perlu diperoleh sebelum meneruskan ke langkah seterusnya, contohnya, permintaan log masuk memerlukan token sebelum terus mengakses halaman lain. Permintaan tak segerak sesuai untuk senario yang perlu diproses di latar belakang, seperti menghantar kod pengesahan, memuat naik fail dan operasi lain.

4. Ringkasan

Sama ada permintaan tak segerak atau permintaan segerak, terdapat API yang sepadan dalam uniapp, yang boleh dipilih dan digunakan mengikut senario aplikasi tertentu. Dalam pembangunan sebenar, adalah perlu untuk memilih kaedah permintaan untuk digunakan berdasarkan keperluan perniagaan yang berbeza, supaya aplikasi boleh bertindak balas kepada permintaan pengguna dengan lebih cepat dan lebih stabil.

Atas ialah kandungan terperinci rangkaian uniapp meminta penyegerakan tak segerak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn