JSInterop возвращает функцию, которая не определенаC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 JSInterop возвращает функцию, которая не определена

Сообщение Anonymous »

Я пытаюсь вызвать функции JS из C# с помощью JS Interop. Я определил два метода, а затем вызвал их с помощью InvokeVoidAsync.
Проблема в том, что в таких браузерах, как Edge и Firefox, появляется ошибка, сообщающая, что функция не определена (неопределена), но в Chrome все в порядке и работает, тогда как иногда в Chrome одна из функций возвращает неопределенную ошибку.

Код: Выделить всё

window.getAccount = async function () {
try {
if (provider === null) {
return { "Success": false, "Address": null, "Message": "Metamask not detected" };
}
else {
const accounts = await provider.request({ method: "eth_requestAccounts" });
console.log("connected accounts = ", accounts);
if (accounts.length !== 0 || accounts !== undefined) {
return { "Success": true, "Message": null, "Address": accounts[0].toString() };
}
else
return "new error";
}
} catch (err) {
if (err.code === 4001) {
/*  console.log("Please connect to MetaMask.");*/
return { "Success": false, "Address": null, "Message": "Allow to connect to Metamask" };  // Return a message indicating to connect to MetaMask
} else {
console.error(err);
console.log(err);
//throw err; // Re-throw the error
return { "Success": false, "Address": null, "Message": err.toString() };
}
}
}


и вторая функция
< div class="snippet">

Код: Выделить всё

window.getChainId = async function () {
return chainId.toString();
}


Я вызываю эти функции в C#, например -

Код: Выделить всё

ConnectWallet connectResponse = await JsRuntime.InvokeAsync("getAccount");
и

Код: Выделить всё

string chainId = await JsRuntime.InvokeAsync("getChainId");
есть предложения, как это сделать правильно?

Подробнее здесь: https://stackoverflow.com/questions/783 ... ot-defined
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • NameError: переменная не определена, хотя она определена и работала раньше
    Anonymous » » в форуме Python
    0 Ответы
    54 Просмотры
    Последнее сообщение Anonymous
  • NameError: переменная не определена, хотя она определена
    Anonymous » » в форуме Python
    0 Ответы
    48 Просмотры
    Последнее сообщение Anonymous
  • Почему SCS говорят, что переменная не определена, хотя переменная уже была определена?
    Anonymous » » в форуме CSS
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как получить BUnit JSInterop?
    Гость » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Гость
  • Как получить BUnit JSInterop?
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»