从javascript websocket获取总数

时间:2016-06-04 01:16:01

标签: javascript jquery html

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

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

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

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

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

我正在努力实现&#34;总计&#34;显示总交易金额的事情。因此,在15分钟内,它将显示发送的比特币总量。

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

2 个答案:

答案 0 :(得分:1)

很难确切地说出你要求的内容,但听起来你只需要第二个全局变量(或者你的小提琴中的btcs-level变量)来处理运行总数。

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处理程序之外存在,所以在处理程序中随时更新后,您可以随意执行任何操作。

答案 1 :(得分:0)

你的意思是你继续只发送总数吗?

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

然后只使用Array.reduce来获取总数。

你可以定期过滤超过15米的元素或setTimeout函数,当你添加它们以在x时间后删除它们。