首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >近api-js不返回契约方法响应。

近api-js不返回契约方法响应。
EN

Stack Overflow用户
提问于 2022-02-11 22:04:08
回答 1查看 218关注 0票数 1

我正在使用testnet使用近api-js (Nextjs)来调用contract。当我在没有批准事务的情况下调用该方法(没有存款或经常帐户部署了合同调用),近api-js将返回合同方法的结果,但当我从另一个近的帐户调用时(需要切换到钱包屏幕以批准事务),近api-js将返回transactionHash。我使用这个transactionHash来检查资源管理器,得到的结果是我的合同仍然返回正确的结果,但是它似乎没有将这个结果发送给我的客户端。有人能告诉我发生了什么以及如何解决吗?

下面是我的示例transactionHash: 8NHCjNkM6VDnSyMg43gzwngNPNZTDCnvDSTtQj5QsM-当调用方法从近-cli或近-api-js没有定金选项时没有问题。下面是我的前端代码

代码语言:javascript
复制
contract?.init_new_event?.(
    {
     title: event_name,
     location: 'Hanoi',
     description: des,
     privacy: [],
     cover_image: rootCid,
     type: parseInt(event_type),
     start_date,
     end_date,
    },
    100000000000000,
    depositAmount,
    ).then((res) => {
     if (res) {
      router.push(`/event/event-detail?id=${res}`);
     } else {
      onShowResult({
       type: 'error',
       msg: 'Creat event failure',
      });
     }
    }).catch((err) => {
     onShowResult({
      type: 'error',
      msg: String(err),
     });
   });

当我打电话给这个合同的所有者帐户时,我收到了这样的回复:

代码语言:javascript
复制
"nMX4ZeyxLTK9ZYyJmA9FhR7Y8zgieLsvnc9VeJhGtRVsAm82tnzMG"

但是当我接到另一个帐户的电话时,我刚刚收到了transactionHash,例如

代码语言:javascript
复制
transactionHashes=EgSmzhmtMHr6WNmtLpJaa7W9qLn6PzdHEzK2ST13vGgA

您可以在近资源管理器上看到,合同方法仍然正常工作:https://explorer.testnet.near.org/transactions/BQVMve8FtgQ8sqBDyzS3FrTR5buYy4qmuCWcCVD7K8KE

EN

回答 1

Stack Overflow用户

发布于 2022-08-20 16:11:18

当您调用api (附加保证金)时,您只能检查txHash以了解tx成功与否,您不能检查来自智能契约的响应。=>解决方案:将存款api与您的主动作api分开,用户在调用main api之前必须先存款,然后才能正常地获得对main-action的响应。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71087009

复制
相关文章

相似问题

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