开始使用 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的主要内容,如果未能解决你的问题,请参考以下文章