Например, у меня есть модуль в 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 (in promise) Error: Cannot create a JSObjectReference from the value 'null'.
(и я даже не могу поймать исключение в CSHARP. Метод CSHARP, кажется, просто остановился здесь, и более поздние коды не будут выполнены. Это ошибка?)
Итак, что мне сделать, чтобы решить эту проблему? Я не верю, что ниже-хорошая идея: < /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 ... ction-whic
Blazor Как мне получить `ijsobjectreference` при вызове функции JS, которая может вернуть` null`? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как мне получить `ijsobjectreference` при вызове функции JS, которая может вернуть` null`?
Anonymous » » в форуме C# - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Вызовите JS, сгенерированный из TypeScript в Blazor, используя ijsobjectreference
Anonymous » » в форуме C# - 0 Ответы
- 0 Просмотры
-
Последнее сообщение Anonymous
-