ant-design-blazor/components/core/JsInterop/InteropService.cs
James Yeung 360fe0d3c0 fix(hosting): server prerendering issue (#583)
* refactor: rename JSInterop constants

* docs: fix typo

* fix: server prerendering issue
2020-09-09 00:52:14 +08:00

48 lines
1.0 KiB
C#

using System;
using System.Threading.Tasks;
using Microsoft.JSInterop;
namespace AntDesign.JsInterop
{
public class InteropService
{
private readonly IJSRuntime _js;
public InteropService(IJSRuntime js)
{
_js = js;
}
public async ValueTask Copy(string text)
{
await this.JsInvokeAsync(JSInteropConstants.Copy, text);
}
private async Task<T> JsInvokeAsync<T>(string code, params object[] args)
{
try
{
return await _js.InvokeAsync<T>(code, args);
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
}
private async Task JsInvokeAsync(string code, params object[] args)
{
try
{
await _js.InvokeVoidAsync(code, args);
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
}
}
}