TypeError:$ jscomp $ generator $ this.send不是一个函数

我试图在ClojureScript中使用npm的@ walletconnect / web3-provider包,当我调用函数时出现错误: TypeError:$ jscomp $ generator $ this.send不是函数

这是使用的JavaScript代码,问题出在第四行:return this.send(payload);

      class WalletConnectProvider extends ProviderEngine {
        request(payload) {
            return tslib_1.__awaiter(this,void 0,function* () {
                return this.send(payload);
            });
        }
        send(payload,callback) {
            return tslib_1.__awaiter(this,function* () {
                if (typeof payload === "string") {
                    const method = payload;
                    let params = callback;
                    if (method === "personal_sign") {
                        params = utils_1.parsePersonalSign(params);
                    }
                    return this.sendAsyncPromise(method,params);
                }
                payload = Object.assign({ id: utils_1.payloadId(),jsonrpc: "2.0" },payload);
                if (payload.method === "personal_sign") {
                    payload.params = utils_1.parsePersonalSign(payload.params);
                }
                if (callback) {
                    this.sendAsync(payload,callback);
                    return;
                }
                return this.sendAsyncPromise(payload.method,payload.params);
            });
        }

这是ClojureScript代码,当我调用(.getaccounts (.-eth web3))

时,会导致上述错误。
(ns woodenstaking-ui.components.connect-btn
  (:require [re-frame.core :as rf]
            ["web3" :as web3-js]
            ["web3modal" :default web3-modal]
            ["@walletconnect/web3-provider" :default wallet-connect-provider]
            ["fortmatic" :as fortmatic]
            [cljs.core.async :refer [go]]
            [cljs.core.async.interop :refer-macros [<p!]]

(def web3modal
 (new web3-modal #js {:cacheProvider false,:providerOptions #js
                        {:walletconnect #js
                           {:package wallet-connect-provider,:options #js {:infuraId infura-id}}
                         :fortmatic #js
                           {:package fortmatic
                            :options #js {:key fortmatic-key}}}}))

(defn open-modal
  []
  (go
      (let [provider (<p! (.connect web3modal))
            web3 (new web3-js provider)
            account (<p! (.getaccounts (.-eth web3)))])))

此代码适用于MetaMask和Fortmatic web3提供程序,仅适用于WalletConnect失败。调用任何智能合约方法时,使用WalletConnect都会遇到相同的错误。

liqzone 回答:TypeError:$ jscomp $ generator $ this.send不是一个函数

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1365202.html

大家都在问