ホームページ > 記事 > ウェブフロントエンド > UniAppでメソッドを呼び出して戻り値を取得する方法
UniApp は、iOS、Android、および Web アプリケーションを 1 つのコード ベースで開発できるクロスプラットフォーム開発フレームワークです。メソッドの呼び出しと戻り値の取得は、UniApp の一般的な要件です。この記事ではUniAppでメソッドを呼び出して戻り値を取得する方法を紹介します。
UniApp でのメソッドの呼び出し
UniApp でのメソッド呼び出しのプロセスは、次の 2 つのステップに分けることができます。
次に、UniApp でネイティブ メソッドを呼び出す方法を示す簡単な例を示します。
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 パラメータは戻り値を表します。 public class TestPlugin implements IModule { @JSMethod(uiThread = false) public void testMethod(JSCallback callback, String args){ String result = "Hello " + args; callback.invoke(result); } }
TestPlugin
で定義します。 @JSMethod(uiThread = false)
注釈は、このメソッドが非 UI スレッドで実行されることを示します。 JSCallback
は、JavaScript で結果を返すために使用されるコールバック インターフェイスです。 invoke
メソッドは、結果を JavaScript に返すために使用されます。 呼び出しメソッドの戻り値を取得する
呼び出しメソッドの戻り値を取得するには、ネイティブ コードでコールバック関数を使用して値を返す必要があります。コールバック関数のパラメータはメソッドの戻り値です。 JavaScript コードでは、コールバック関数の戻り値を使用して、対応する処理を実行する必要があります。
次は、呼び出しメソッドの戻り値を取得するコードの例です:
export function testMethod(args){ return new Promise((resolve, reject) => { uni.invokeMethod("testPlugin", "testMethod", args, function(res){ resolve(res); }) }) }
resolve
関数は、非同期結果を返す処理関数を表します。 public class TestPlugin implements IModule { @JSMethod(uiThread = false) public void testMethod(JSCallback callback, String args){ String result = "Hello " + args; callback.invoke(result); } }
invoke
を使用します。結果を返すメソッド。 testMethod('world') .then(res => { console.log(res); }) .catch(error => { console.error(error); });
then
メソッドを使用します。戻り値を取得し、コールバック関数で処理します。 catch
メソッドを使用してエラーをキャプチャし、コンソールに出力します。 概要
メソッドの呼び出しと戻り値の取得は、UniApp の一般的な要件です。 UniApp ではコールバック関数を使用してメソッド呼び出しの結果を取得できますが、Promise と async/await を使用するとコードがより簡潔で読みやすくなります。呼び出しメソッドの戻り値を取得するには、JavaScript コードで Promise を使用して非同期結果を処理し、ネイティブ コードでコールバック関数を使用して結果を返すことができます。
以上がUniAppでメソッドを呼び出して戻り値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。