首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用web3js (Java脚本)访问虚设状态变量

使用web3js (Java脚本)访问虚设状态变量
EN

Ethereum用户
提问于 2018-11-12 13:12:10
回答 1查看 197关注 0票数 1

我试图运行以下代码,使用智能契约的getIdBytes方法获取状态变量,并将其分配给一个java脚本数组变量,但它似乎不起作用。

我所能做的就是使用console.log(返回)打印返回的值。

有人能给我指个正确的方向吗?

代码语言:javascript
复制
var coreValues = ['Apple', 'Banana'];
console.log("Before call :"  + coreValues[1]);

if (get_flag)
{
contract3.methods.getIdBytes(index1, abstract_contract_address).call().then(function(result){
   for (var i = 0; i < 5; i++) {
  coreValues[i] =  result[i];
  console.log("Inside Function Call" + coreValues[i]);
  }
});

console.log("After Call :" + coreValues[0]);

这是输出的样子。

代码语言:javascript
复制
Before call :Banana
After Call :Apple
Inside Function call : Steve
Inside Function call : Rogers
Inside Function call : Male
Inside Function call : 0987654
Inside Function call : 12/05/1980

我应该使用事件吗?

EN

回答 1

Ethereum用户

发布于 2018-11-12 13:24:13

web3js调用的执行是异步的,因此在循环中的代码之前执行"After Call“。

试试这个:

代码语言:javascript
复制
var coreValues = ['Apple', 'Banana'];
console.log("Before call :"  + coreValues[1]);

if (get_flag) {
  contract3.methods.getIdBytes(index1, abstract_contract_address).call().then(function(result){
    for (var i = 0; i < 5; i++) {
      coreValues[i] =  result[i];
      console.log("Inside Function Call" + coreValues[i]);
    }
    console.log("End of Call :" + coreValues[0]);
    // continue with your logic here...
  });
}
console.log("Too early: " + coreValues[0]);

另一种选择是使用“等待”:

代码语言:javascript
复制
var coreValues = ['Apple', 'Banana'];
console.log("Before call :"  + coreValues[1]);

if (get_flag) {
  await contract3.methods.getIdBytes(index1, abstract_contract_address).call().then(function(result){
    for (var i = 0; i < 5; i++) {
      coreValues[i] =  result[i];
      console.log("Inside Function Call" + coreValues[i]);
    }
  });
}
console.log("Not too early: " + coreValues[0]);
// continue with your logic here...
票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/62187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档