开始使用 ABLY

Posted

技术标签:

【中文标题】开始使用 ABLY【英文标题】:Getting started with ABLY 【发布时间】:2020-03-18 16:49:24 【问题描述】:

我将https://github.com/ably/ably-js 添加到我的项目中,以便我可以使用打字稿。目前我的文档将currentBid信息添加到mongodb文档中,对应auctionId。我正在尝试将auctionId 与currentBid 值相关联,以便使用ABLY 将正确的值分配给正确的拍卖,因此我将通道名称分配给auctionId,并将currentBid 值作为数据。下面是我的代码。目前它确实在Your app statistics summary 中表示发布成功,并且它确实根据它的消息计数器注册了消息。

现在在 channel.subscribe 上,innerhtml 会在出价发生时变成屏幕上的 JSON 对象。不知道我将如何关联正确的auctionId。如何查询我发布的频道?

innerHTML 中返回的值是 如果 currentBid 是 205.00 美元,我出价 15.00 美元,那么我的 channel.subscribe 会输出:

The message.data value stays at $205.00 价值永远不会更新到 $220.00

channel.publish( this.auctionId, this.currentBid);


channel.subscribe(this.auctionId, function (message) 
      document.getElementById('currentBid').innerHTML = JSON.stringify(message.data);

    );

【问题讨论】:

嘿!我是 Ably 的开发人员倡导者,刚刚看到您的问题。我不确定我是否真的了解您想要什么帮助?您能否稍微澄清一下您的问题,以便我(或其他人)根据您的应用场景知道您的问题到底是什么?谢谢! 嗨。我正在尝试为每个列表创建与我的auctionIds 具有相同ID 的频道。这样,我可以提取具有拍卖的 currentBid 值的正确消息,以便实时输出当前出价的值。它说消息已发布,但是当我订阅消息并尝试将其输出到相应的拍卖时,它永远不会显示更新的值。 【参考方案1】:

从外观上看,您似乎正在频道“feed”和事件名称“currentBid”上发布新的投标价格。如果这是真的,那么对该频道的任何订阅都将在数据对象中收到新的出价。在你的例子中,15 美元。在您的前端,您需要将此新出价添加到您之前的价格中,并在您的 HTML 中显示更新后的信息。

就发布的消息而言,如果您想调试正在发生的事情,您可以使用您可以在应用仪表板上找到的开发控制台。只需添加频道和事件名称并订阅它,您应该会看到发布到该频道的所有消息的日志。

附:公开分享你的 API 密钥并不是很理想,以后考虑用一些虚拟文本替换它:)

完全免责声明 - 我是 Ably Realtime 的开发者倡导者。

【讨论】:

我更新了上面的代码。根据您所说的,将auctionId 设置为eventName 以便可以像上面的示例中那样轻松引用它是否有意义?我还更改了我的 api 密钥并撤销了那个。没想到帖子里有。谢谢

以上是关于开始使用 ABLY的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ably.io 设置电子商务消息传递解决方案

需要帮助在浏览器中将 MQTT 与 Ably 结合使用

使用 Ably.io 创建连接时出现未知错误

在 Angular 中使用 ably.io JWT

连接使用Ably.io创建连接时出现Unknown错误

回收 Ably 实时连接