ホームページ >ウェブフロントエンド >uni-app >UniAppでメソッドを呼び出して戻り値を取得する方法

UniAppでメソッドを呼び出して戻り値を取得する方法

PHPz
PHPzオリジナル
2023-04-18 16:00:093722ブラウズ

UniApp は、iOS、Android、および Web アプリケーションを 1 つのコード ベースで開発できるクロスプラットフォーム開発フレームワークです。メソッドの呼び出しと戻り値の取得は、UniApp の一般的な要件です。この記事ではUniAppでメソッドを呼び出して戻り値を取得する方法を紹介します。

UniApp でのメソッドの呼び出し

UniApp でのメソッド呼び出しのプロセスは、次の 2 つのステップに分けることができます。

  1. JavaScript コードでのメソッドの呼び出し。
  2. ネイティブ コードでメソッドを実行し、結果を返します。

次に、UniApp でネイティブ メソッドを呼び出す方法を示す簡単な例を示します。

  1. JavaScript でネイティブ メソッドを呼び出す:
uni.invokeMethod("testPlugin", "testMethod", "args", function(res){
    console.log(res);
})
  • uni.invokeMethod(plugin, method, args, callback)メソッドは、ネイティブ メソッドを呼び出すために使用されます。
  • pluginパラメータは、「testPlugin」などのネイティブ プラグインの ID を参照します。
  • methodパラメータは、「testMethod」などのネイティブ メソッドの名前を参照します。
  • argsパラメータは、「args」など、メソッドに必要なパラメータを指します。
  • callbackパラメータはメソッド実行後のコールバック関数を指します。res パラメータは戻り値を表します。
  1. ネイティブでの非同期実行メソッド:
public class TestPlugin implements IModule {
    @JSMethod(uiThread = false)
    public void testMethod(JSCallback callback, String args){
        String result = "Hello " + args;
        callback.invoke(result);
    }
}
  • ネイティブ プラグインを実装するためのクラスを Java TestPlugin で定義します。
  • @JSMethod(uiThread = false)注釈は、このメソッドが非 UI スレッドで実行されることを示します。
  • JSCallback は、JavaScript で結果を返すために使用されるコールバック インターフェイスです。
  • invoke メソッドは、結果を JavaScript に返すために使用されます。

呼び出しメソッドの戻り値を取得する

呼び出しメソッドの戻り値を取得するには、ネイティブ コードでコールバック関数を使用して値を返す必要があります。コールバック関数のパラメータはメソッドの戻り値です。 JavaScript コードでは、コールバック関数の戻り値を使用して、対応する処理を実行する必要があります。

次は、呼び出しメソッドの戻り値を取得するコードの例です:

  1. JavaScript で Promise を使用してネイティブ メソッドを呼び出します:
export function testMethod(args){
    return new Promise((resolve, reject) => {
        uni.invokeMethod("testPlugin", "testMethod", args, function(res){
            resolve(res);
        })
    })
}
  • ES6 では Promise を使用してメソッドの戻り値を非同期的に取得します。
  • resolve 関数は、非同期結果を返す処理関数を表します。
  1. メソッドをネイティブで非同期に実行し、結果を返します。
public class TestPlugin implements IModule {
    @JSMethod(uiThread = false)
    public void testMethod(JSCallback callback, String args){
        String result = "Hello " + args;
        callback.invoke(result);
    }
}
  • コールバック関数では、invoke を使用します。結果を返すメソッド。
  1. JavaScript での戻り値の使用:
testMethod('world')
    .then(res => {
        console.log(res);
    })
    .catch(error => {
        console.error(error);
    });
  • メソッドを非同期的に呼び出した後、Promise の then メソッドを使用します。戻り値を取得し、コールバック関数で処理します。
  • エラーが発生した場合、Promise の catch メソッドを使用してエラーをキャプチャし、コンソールに出力します。

概要

メソッドの呼び出しと戻り値の取得は、UniApp の一般的な要件です。 UniApp ではコールバック関数を使用してメソッド呼び出しの結果を取得できますが、Promise と async/await を使用するとコードがより簡潔で読みやすくなります。呼び出しメソッドの戻り値を取得するには、JavaScript コードで Promise を使用して非同期結果を処理し、ネイティブ コードでコールバック関数を使用して結果を返すことができます。

以上がUniAppでメソッドを呼び出して戻り値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。