如何从javascript函数返回Solidity视图方法的结果?

问题描述 投票:0回答:1

我想确定web3js 1.x中智能合约结果的视图功能

假设我们有一个视图函数getName(uint code),并且想要获得一个拥有其代码的人的名字。所以我们写:

contract.methods.getName(code).call(option)
  .then(...)
  .catch(...);

我们想要定义一个函数来返回结果名称并对其进行处理。

我们如何关联定义的函数和方法调用?

例如:

async function name(code) {
  contract.methods.getName(code).call(option)
    .then(...)
    .catch(...);
  return ???
}

for (let i = 0; i <= 10; i++) {
  let x = name(i);
  // Do something with x, for example:
  alert(x); 
}

P.S:我知道结果可以在.then主体内部访问,但是我想在name函数作用域内访问它并从该函数返回它。

solidity web3js
1个回答
0
投票

您已经使用异步了,所以您可以使用await

var result = await contract.methods.getName(code).call(option)
© www.soinside.com 2019 - 2024. All rights reserved.