繁体   English   中英

从javascript websocket获取总计

[英]Getting total from javascript websocket

我有一个程序通过websocket显示比特币交易,金额也使用JSON。

我通过JavaScript将其发送到html中的div。 有了这个:

$('#messages').prepend("<p>" + calAmount + "</p>");

由于它继续制作新的段落元素,因此如何在javascript或html中添加它。

我曾想过要添加一个循环,但是由于它是一个变量,因此似乎不起作用。

我正在努力“总”东西来显示总交易金额。 因此,在15分钟内,它将显示已发送的比特币总量。

https://jsfiddle.net/Kryometric/7x55uhm9/1/

很难确切地说出您要的是什么,但是听起来您只需要第二个全局变量(或小提琴中的btcs级变量)即可处理正在运行的总计。

var total=0;
var btcs = new WebSocket('wss://ws.blockchain.info/inv');
btcs.onopen = function()
{
    btcs.send( JSON.stringify( {"op":"unconfirmed_sub"} ) );
};
btcs.onmessage = function(onmsg)
{
    var response = JSON.parse(onmsg.data);
    var amount = response.x.out[0].value;
    var calAmount = amount / 100000000;
    total+=calAmount;
    $('#messages').prepend("<p>" + calAmount + "</p>");  
}

由于total在onmessage处理程序之外持久存在,因此您可以随时在处理程序中对其进行更新后执行任何操作。

您是说只保留总数吗?

您可以每次发送时检查差异并维护值或对象数组{time:changeInTotal}

然后只需使用Array.reduce即可获得总数。

您可以定期过滤早于15m或setTimeout函数的元素,将其添加以在x时间后将其删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM