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