Например, у меня есть модуль в TypeScript, такой как: < /p>
export function getIndexedDb() : IDBFactory | null
{
if (window.indexedDB)
return window.indexedDB;
else
return null;
}
Теперь я хочу получить ijsobjectreference его результата, поэтому я попробовал это в csharp:
await using var module = await jsRuntime.InvokeAsync("import", "xxxx.js");
await using var result = await module.InvokeAsync("getIndexedDb");
Он работает хорошо, когда есть window.indexeddb , но когда getIndexedDb () возвращает null , возникнет ошибка:
uncaught (в обещании) Ошибка: не может создать JSOBJectreference из значения 'Null'. < /p>
< /blockquote>
(и я даже не могу поймать исключение в C#. Метод C#, кажется, просто остановился здесь, и более поздние коды не будут выполнены. Это ошибка?) /p>
Итак, что мне сделать, чтобы решить эту проблему? Я не верю, что ниже-хорошая идея: < /p>
class Nullable
{
value: T | null;
constructor(value: T | null)
{
this.value = value;
}
getValue() : T | null
{
return this.value;
}
isNull() : boolean
{
return this.value === null;
}
}
export function getIndexedDb() : Nullable
{
if (window.indexedDB)
return new Nullable(window.indexedDB);
else
return new Nullable(null);
}
Подробнее здесь: https://stackoverflow.com/questions/742 ... hich-may-r
Как мне получить `ijsobjectreference` при вызове функции JS, которая может вернуть` null`? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Вызовите JS, сгенерированный из TypeScript в Blazor, используя ijsobjectreference
Anonymous » » в форуме C# - 0 Ответы
- 0 Просмотры
-
Последнее сообщение Anonymous
-