mirror of
https://github.com/JKorf/CryptoExchange.Net.git
synced 2026-08-11 16:32:57 +00:00
Updated examples
This commit is contained in:
@@ -5,33 +5,33 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Binance.Net" Version="12.11.3" />
|
||||
<PackageReference Include="Bitfinex.Net" Version="10.10.2" />
|
||||
<PackageReference Include="BitMart.Net" Version="3.10.0" />
|
||||
<PackageReference Include="BloFin.Net" Version="2.10.2" />
|
||||
<PackageReference Include="Bybit.Net" Version="6.11.0" />
|
||||
<PackageReference Include="CoinEx.Net" Version="10.9.2" />
|
||||
<PackageReference Include="CoinW.Net" Version="2.9.2" />
|
||||
<PackageReference Include="CryptoCom.Net" Version="3.10.0" />
|
||||
<PackageReference Include="DeepCoin.Net" Version="3.9.2" />
|
||||
<PackageReference Include="GateIo.Net" Version="3.10.2" />
|
||||
<PackageReference Include="HyperLiquid.Net" Version="4.3.0" />
|
||||
<PackageReference Include="JK.BingX.Net" Version="3.10.0" />
|
||||
<PackageReference Include="JK.Bitget.Net" Version="3.10.0" />
|
||||
<PackageReference Include="JK.Mexc.Net" Version="5.0.1" />
|
||||
<PackageReference Include="JK.OKX.Net" Version="4.12.0" />
|
||||
<PackageReference Include="Jkorf.Aster.Net" Version="3.1.0" />
|
||||
<PackageReference Include="JKorf.BitMEX.Net" Version="3.9.2" />
|
||||
<PackageReference Include="JKorf.Coinbase.Net" Version="3.9.2" />
|
||||
<PackageReference Include="JKorf.HTX.Net" Version="8.9.1" />
|
||||
<PackageReference Include="JKorf.Upbit.Net" Version="2.9.2" />
|
||||
<PackageReference Include="KrakenExchange.Net" Version="7.9.1" />
|
||||
<PackageReference Include="Kucoin.Net" Version="8.11.0" />
|
||||
<PackageReference Include="Binance.Net" Version="12.13.0" />
|
||||
<PackageReference Include="Bitfinex.Net" Version="10.12.0" />
|
||||
<PackageReference Include="BitMart.Net" Version="3.11.2" />
|
||||
<PackageReference Include="BloFin.Net" Version="2.11.0" />
|
||||
<PackageReference Include="Bybit.Net" Version="6.13.0" />
|
||||
<PackageReference Include="CoinEx.Net" Version="10.11.0" />
|
||||
<PackageReference Include="CoinW.Net" Version="2.10.0" />
|
||||
<PackageReference Include="CryptoCom.Net" Version="3.11.0" />
|
||||
<PackageReference Include="DeepCoin.Net" Version="3.10.0" />
|
||||
<PackageReference Include="GateIo.Net" Version="3.11.0" />
|
||||
<PackageReference Include="HyperLiquid.Net" Version="4.7.1" />
|
||||
<PackageReference Include="JK.BingX.Net" Version="3.11.1" />
|
||||
<PackageReference Include="JK.Bitget.Net" Version="3.12.1" />
|
||||
<PackageReference Include="JK.Mexc.Net" Version="5.2.0" />
|
||||
<PackageReference Include="JK.OKX.Net" Version="4.14.0" />
|
||||
<PackageReference Include="Jkorf.Aster.Net" Version="3.3.0" />
|
||||
<PackageReference Include="JKorf.BitMEX.Net" Version="3.10.0" />
|
||||
<PackageReference Include="JKorf.Coinbase.Net" Version="3.10.1" />
|
||||
<PackageReference Include="JKorf.HTX.Net" Version="8.10.1" />
|
||||
<PackageReference Include="JKorf.Upbit.Net" Version="2.10.1" />
|
||||
<PackageReference Include="KrakenExchange.Net" Version="7.11.0" />
|
||||
<PackageReference Include="Kucoin.Net" Version="8.13.0" />
|
||||
<PackageReference Include="Serilog.AspNetCore" Version="10.0.0" />
|
||||
<PackageReference Include="Toobit.Net" Version="3.9.2" />
|
||||
<PackageReference Include="Weex.Net" Version="1.0.0" />
|
||||
<PackageReference Include="WhiteBit.Net" Version="3.9.2" />
|
||||
<PackageReference Include="XT.Net" Version="3.9.2" />
|
||||
<PackageReference Include="Toobit.Net" Version="3.10.0" />
|
||||
<PackageReference Include="Weex.Net" Version="1.1.1" />
|
||||
<PackageReference Include="WhiteBit.Net" Version="3.11.1" />
|
||||
<PackageReference Include="XT.Net" Version="3.10.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -16,13 +16,26 @@
|
||||
{
|
||||
var symbol = new SharedSymbol(TradingMode.Spot, "ETH", "BTC");
|
||||
var tasks = restClients.Select(x => x.GetSpotTickerAsync(new GetTickerRequest(symbol)));
|
||||
await Task.WhenAll(tasks);
|
||||
foreach (var ticker in tasks.Select(x => x.Result))
|
||||
await foreach (var ticker in ParallelEnumerateAsync(tasks))
|
||||
{
|
||||
if (ticker.Success)
|
||||
_prices.Add(ticker.Exchange, ticker.Data.LastPrice);
|
||||
else
|
||||
Debug.WriteLine($"{ticker.Exchange} failed: {ticker.Error}");
|
||||
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
}
|
||||
|
||||
private async IAsyncEnumerable<T> ParallelEnumerateAsync<T>(IEnumerable<Task<T>> tasks)
|
||||
{
|
||||
var remaining = new List<Task<T>>(tasks);
|
||||
|
||||
while (remaining.Count != 0)
|
||||
{
|
||||
var task = await Task.WhenAny(remaining).ConfigureAwait(false);
|
||||
remaining.Remove(task);
|
||||
yield return task.Result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user