Javascript から Silverlight を呼び出す方法について調査しています。メソッドは機能してscriptableいますが、このメソッドは非同期である必要があります。そのため、マネージド コードから文字列などの値を返す場合、実際の文字列値は JavaScript に返されません。ToString戻り型の のようなものです。
このケースを処理し、値をラップ解除するために JavaScript 内で「待機」する通常の方法はありますか?
Javascript から Silverlight を呼び出す方法について調査しています。メソッドは機能してscriptableいますが、このメソッドは非同期である必要があります。そのため、マネージド コードから文字列などの値を返す場合、実際の文字列値は JavaScript に返されません。ToString戻り型の のようなものです。
このケースを処理し、値をラップ解除するために JavaScript 内で「待機」する通常の方法はありますか?
ScriptObjectJavaScript がコールバックを渡すことができるように、呼び出し可能な Silverlight メソッドはパラメーターを受け取る必要があります。次に、コールバックを呼び出して、終了後に結果を渡すことができます。このようなもの:
[ScriptableMember]
public async Task DoSomethingAsync(ScriptObject callback)
{
var result = await SomeAsynchronousThing();
callback.InvokeSelf(result);
}
次のように呼び出します。
silverlightObj.DoSomethingAsync(function(result) {
// handle the result
});