Ethereum 如何从truffle控制台读取struct中的字段?

Ethereum 如何从truffle控制台读取struct中的字段?,ethereum,solidity,smartcontracts,truffle,Ethereum,Solidity,Smartcontracts,Truffle,我有一个简单的托多利斯特智能合约看起来像这样 pragma solidity ^0.8.0; contract TodoList { uint256 public taskCount = 0; struct Task { uint256 id; string content; bool completed; } mapping(uint256 => Task) public tasks; co

我有一个简单的托多利斯特智能合约看起来像这样


pragma solidity ^0.8.0;

contract TodoList {
    uint256 public taskCount = 0;

    struct Task {
        uint256 id;
        string content;
        bool completed;
    }

    mapping(uint256 => Task) public tasks;

    constructor(){
        createTask("Buy Keyboard");
    }

    function createTask(string memory _content) public {
        taskCount++;
        tasks[taskCount] = Task(taskCount, _content, false);
    }
}

我想读取第一个todo的id,但无论我如何尝试,它都显示为未定义?这里的正确方法是什么?

您可以等待承诺,然后分配值:

>> task.then(data => { id = + data["id"] } )
>> id

您可以等待承诺,然后分配值:

>> task.then(data => { id = + data["id"] } )
>> id