Algumas dicas sobre como reaprovar a embalagem errada

Autora:Zero., Criado: 2015-07-20 22:01:59, Atualizado: 2015-07-20 22:06:32

Os erros causados pela rede de exchanges podem fazer com que a chamada de funções como exchange.GetAccount falhe, então é necessário tentar novamente, mas o código exibido uma vez por cada função é muito pesado.

Esta função é colocada no começo.


function EnsureCall(method) {
    var r;
    while (!(r = method.apply(this, Array.prototype.slice.call(arguments).slice(1)))) {
        Sleep(300);
    }
    return r;
}
Então, por exemplo, obter informações de contas pode ser assim.var account = EnsureCall(exchange.GetAccount);É assim que a profundidade pode ser obtida.var depth = EnsureCall(exchange.GetDepth);E isso é o que você pode fazer.var records = EnsureCall(exchange.GetRecords, PERIOD_M5);Assim, não importa o quão instável seja a rede de exchanges, o EnsureCall retrata dados válidos e não usa cada função para envelopar uma vez.

Claro que você também pode renomear o EnsureCall para um nome curto e memorável, como EC ou Call, que é mais conveniente.


Mais informações

simples-chunHá uma versão PY?

Solorezfunção AssureCall ((method) { Var r; while (!(r = method.apply(this, Array.prototype.slice.call ((argumentos).slice))) { Sleep ((300); Não. return r; Não. função main (() { InitAccount = EnsureCall ((exchange.GetAccount (())); Log (InitAccount); Não. O que você pode fazer é fazer uma ligação para o site do usuário, e você pode fazer uma ligação para o site do usuário.

SolorezEu acho que é melhor que você considere isso quando fizer o seu próximo ap.

SolorezO que é que eu tenho a dizer? https://dn-filebox.qbox.me/bdfed9d5bfd320ceaa06732c84ef0dd1662dc3f8.png

Zero.```EnsureCall ((exchange.GetAccount) ``GetAccount não precisa de ser adicionado após (((