最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

AsyncAwait然后在我的情况下不工作

运维笔记admin13浏览0评论

Async / Await然后在我的情况下不工作

Async / Await然后在我的情况下不工作

我有一个函数,其中包含数组中的数千个对象:

function Alltransaction(transactionArray) {
    transactionArray.map(async (transaction) => {
        dataAgainsthash = await web3.eth.getTransaction(transaction)

        TransactionObject = {
            transactionHash : transaction,
            from : dataAgainsthash.from
        };

        transactionArray.push(TransactionObject)
        console.log("transaction array", transactionArray)
    });
}

然后我有另一个功能,将这些数千个对象数组存储到db中

function saveTransactionToDb() {
    console.log("after loop",transactionArray)
    transactionss = new Transaction({
        blockNumber : blockNumbers ,
        transactions : transactionArray
    })

    // Now save the transaction to database
    await transactionss.save();
    // console.log("save to database")
}

然后我在我的路由器中调用它

await Alltransaction(transactionArray);
await saveTransactionToDb();

我也试试

Alltransaction(transactionArray).then(saveTransactionToDb())

但它总是在对象数组填充saveTransactionToDb()方法之前运行Alltransaction()

回答如下:

你有没有在saveTransactionToDb和Alltransaction函数之前尝试async关键字?

async function Alltransaction(transactionArray){
     // your code       
}

async function saveTransactionToDb(){ // your code logic* await transactionss.save(); }

发布评论

评论列表(0)

  1. 暂无评论