no versions found for ApplicationFrameworkReferences / Components/SystemFunction/registerFunction / en

Alier.registerFunction()

JavaScript の関数をネイティブ側のコードから実行できるようにします。

この関数は非同期関数です。

構文

Alier.registerFunction(func) => Promise<void>

引数

  • func: function

    登録する関数オブジェクトです。

返値: Promise<void>

登録完了時に履行されるプロミスです。

例外

  • TypeError
    • 引数 func が関数でない場合。

関数登録

function add (x, y) {
  return x + y;
};  //  関数の定義
Alier.registerFunction(add);   //  関数の登録

ネイティブコードから呼び出し

mainActivity.scriptMediator!!.callJavaScriptFunction(
    functionName = "add",
    args          = arrayOf(1, 2)
) { result ->
    /* 実行結果の処理 */
}
try! mainActivity.scriptMediator.callJavaScriptFunction(
    functionName: "add",
    args         : [1, 2]
) { result in
    /* 実行結果の処理 */
}

解説

登録された関数はネイティブ側の ScriptMediator: callJavaScriptFunction() から関数名を指定して呼び出すことができます。