Rumah  >  Artikel  >  hujung hadapan web  >  Cara memanggil kaedah dalam UniApp dan dapatkan nilai pulangan

Cara memanggil kaedah dalam UniApp dan dapatkan nilai pulangan

PHPz
PHPzasal
2023-04-18 16:00:093669semak imbas

UniApp ialah rangka kerja pembangunan merentas platform yang boleh membangunkan aplikasi iOS, Android dan Web dalam satu pangkalan kod. Kaedah panggilan dan mendapatkan nilai pulangan adalah keperluan biasa dalam UniApp. Artikel ini akan memperkenalkan cara memanggil kaedah dalam UniApp dan mendapatkan nilai pulangan.

Kaedah panggilan dalam UniApp

Proses kaedah panggilan dalam UniApp boleh dibahagikan kepada dua langkah:

  1. Kaedah panggilan dalam kod JavaScript.
  2. Laksanakan kaedah dalam kod Asli dan kembalikan hasilnya.

Berikut ialah contoh mudah yang menunjukkan cara memanggil kaedah Native dalam UniApp:

  1. Panggil kaedah Native dalam JavaScript:
uni.invokeMethod("testPlugin", "testMethod", "args", function(res){
    console.log(res);
})
Kaedah
  • uni.invokeMethod(plugin, method, args, callback) digunakan untuk memanggil kaedah Asli. Parameter
  • plugin merujuk kepada ID pemalam Native, seperti "testPlugin".
  • methodParameter merujuk kepada nama kaedah Native, seperti "testMethod".
  • argsParameter merujuk kepada parameter yang diperlukan oleh kaedah, seperti "args". Parameter
  • callback merujuk kepada fungsi panggil balik selepas kaedah dilaksanakan, di mana parameter res mewakili nilai pulangan.
  1. Laksanakan kaedah secara tak segerak dalam Native:
public class TestPlugin implements IModule {
    @JSMethod(uiThread = false)
    public void testMethod(JSCallback callback, String args){
        String result = "Hello " + args;
        callback.invoke(result);
    }
}
  • Tentukan kelas TestPlugin dalam Java untuk melaksanakan pemalam Native. Anotasi
  • @JSMethod(uiThread = false) menunjukkan bahawa kaedah ini akan dilaksanakan dalam urutan bukan UI.
  • JSCallback ialah antara muka panggil balik yang digunakan untuk mengembalikan hasil dalam JavaScript. Kaedah
  • invoke digunakan untuk mengembalikan hasil kepada JavaScript.

Dapatkan nilai pulangan kaedah panggilan

Untuk mendapatkan nilai pulangan kaedah panggilan, kita perlu menggunakan fungsi panggil balik dalam kod Native untuk mengembalikan nilai Parameter dalam fungsi panggil balik ialah nilai Pulangan kaedah. Dalam kod JavaScript, kita perlu menggunakan nilai pulangan dalam fungsi panggil balik untuk melaksanakan pemprosesan yang sepadan.

Berikut ialah contoh kod yang memperoleh nilai pulangan kaedah panggilan:

  1. Gunakan Promise dalam JavaScript untuk memanggil kaedah Native:
export function testMethod(args){
    return new Promise((resolve, reject) => {
        uni.invokeMethod("testPlugin", "testMethod", args, function(res){
            resolve(res);
        })
    })
}
  • Kami menggunakan Promise dalam ES6 untuk mendapatkan nilai pulangan kaedah secara tidak segerak. Fungsi
  • resolve mewakili fungsi pemprosesan yang mengembalikan hasil tak segerak.
  1. Laksanakan kaedah secara tak segerak dalam Native dan kembalikan hasilnya:
public class TestPlugin implements IModule {
    @JSMethod(uiThread = false)
    public void testMethod(JSCallback callback, String args){
        String result = "Hello " + args;
        callback.invoke(result);
    }
}
  • Dalam fungsi panggil balik kami menggunakan kaedah invoke untuk pulangkan hasilnya.
  1. Gunakan nilai pulangan dalam JavaScript:
testMethod('world')
    .then(res => {
        console.log(res);
    })
    .catch(error => {
        console.error(error);
    });
  • Selepas memanggil kaedah secara tidak segerak, kami menggunakan kaedah then Promise untuk mendapatkan pulangan nilai dan diproses dalam fungsi panggil balik.
  • Jika ralat berlaku, kami menggunakan kaedah catch Promise untuk menangkap ralat dan mengeluarkannya ke konsol.

Ringkasan

Kaedah panggilan dan mendapatkan nilai pulangan adalah keperluan biasa dalam UniApp. Walaupun UniApp membenarkan kami menggunakan fungsi panggil balik untuk mendapatkan hasil kaedah panggilan, menggunakan Promise dan async/wait boleh menjadikan kod lebih ringkas dan boleh dibaca. Untuk mendapatkan nilai pulangan kaedah panggilan, kami boleh menggunakan Promise dalam kod JavaScript untuk mengendalikan hasil tak segerak dan menggunakan fungsi panggil balik dalam kod Asli untuk mengembalikan hasil.

Atas ialah kandungan terperinci Cara memanggil kaedah dalam UniApp dan dapatkan nilai pulangan. 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