将合约结果标签存储在变量中
Store contract results tag in a variable
我有一个 web3 conststant 看起来像这样。
const test = contract_instance.methods.getPost(15).call().then(console.log);
这个 returns 结果是这样的。
Result {
'0': '2017-08-28',
'1': '19:18:04.986593',
'2': '07:17:00',
'3': '11112323',
'4': '12',
date: '2017-08-28',
login_time: '19:18:04.986593',
logout_time: '07:17:00',
login_device_id: '11112323',
user_id: '12' }
现在,当我想通过 console.log(test[0]); 这个 returns undefined[= 来控制单个标签时20=]
我的方法是将每个结果标签存储在其单独的变量中。需要一些建议。
通过使用 .then(...) 链接调用,返回值是 Promise 类型,而不是您期望的结果对象(以及写入控制台的内容)并且无法通过索引访问。
有关详细信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then。
then()
将一个函数作为参数,在实现承诺时调用。然后您可以将该值添加到数组中,例如:
var results = []
contract_instance.methods.getPost(15).call().then(function(value){
console.log(value)
results.push(value)
});
results[0]
将是您要查找的结果对象,例如 results[0]['0']
将为您提供日期“2017-08-28”。
我有一个 web3 conststant 看起来像这样。
const test = contract_instance.methods.getPost(15).call().then(console.log);
这个 returns 结果是这样的。
Result {
'0': '2017-08-28',
'1': '19:18:04.986593',
'2': '07:17:00',
'3': '11112323',
'4': '12',
date: '2017-08-28',
login_time: '19:18:04.986593',
logout_time: '07:17:00',
login_device_id: '11112323',
user_id: '12' }
现在,当我想通过 console.log(test[0]); 这个 returns undefined[= 来控制单个标签时20=] 我的方法是将每个结果标签存储在其单独的变量中。需要一些建议。
通过使用 .then(...) 链接调用,返回值是 Promise 类型,而不是您期望的结果对象(以及写入控制台的内容)并且无法通过索引访问。 有关详细信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then。
then()
将一个函数作为参数,在实现承诺时调用。然后您可以将该值添加到数组中,例如:
var results = []
contract_instance.methods.getPost(15).call().then(function(value){
console.log(value)
results.push(value)
});
results[0]
将是您要查找的结果对象,例如 results[0]['0']
将为您提供日期“2017-08-28”。