Swift:无法将“Promise<Int>”类型的返回表达式转换为“Int”类型

问题描述

我尝试从 Ganache 中的 ERC20 令牌返回数据并将其显示在我的 SwiftUI View() 中。为此,我想使用 PromiseKit。下面的代码描述了我想要做什么:

func getTotalSupply(contractAddress: String) -> Int {
        let address = try! EthereumAddress(hex: contractAddress,eip55: true)
        let contract = web3.eth.Contract(type: erc20Token.self,address: address)
        
        return firstly {
            try! contract.totalSupply().call()
        }.map { supply -> Int in
            let value = supply["_totalSupply"] as! Int
            return value
        }
    }

我在 .map 操作中收到以下错误

Cannot convert return expression of type 'Promise<Int>' to return type 'Int'

我可以从函数返回 Promise<Int>,但我无法在 View()显示 Promise。如何将 Promise<Int> 变成 Int?我试着用谷歌搜索了几个小时,但我仍然一无所知。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...