You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js中如何后台执行web3.eth.sendSignedTransaction无需等待结果?

不等待交易完成直接返回的实现方案

完全可行,只需要去掉await关键字,让交易请求在后台异步执行即可,具体修改如下:

function dreamOn() {
    // 直接发起交易,不等待执行完成
    web3.eth.sendSignedTransaction(txFin)
        .catch(error => {
            // 处理交易发送阶段的错误(如签名无效、gas参数异常等)
            console.error('交易发送失败:', error);
        });
    return;
}

需要注意几个关键点:

  • 这种方式仅保证交易被发送到区块链网络,无法确保最终上链成功。如果需要确认交易是否最终打包上链,后续可以通过交易哈希定期查询链上状态。
  • 必须单独添加catch处理错误,因为函数已经直接返回,原函数的try/catch无法捕获这个异步操作的错误。
  • 在Vue组件中使用时,要确保web3实例在交易执行过程中不会被销毁(比如组件卸载前未完成的交易),避免流程中断。

内容的提问来源于stack exchange,提问作者Hahan't

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:02:04