Quelques astuces pour réessayer le mauvais emballage

Auteur:Nul, Créé: 2015-07-20 22:01:59, Mis à jour: 2015-07-20 22:06:32

Une erreur due à un réseau d'échange peut entraîner l'échec d'un appel à une fonction telle qu'exchange.GetAccount, ce qui nécessite une nouvelle tentative.

Cette fonction est placée au début.

function EnsureCall(method) {
    var r;
    while (!(r = method.apply(this, Array.prototype.slice.call(arguments).slice(1)))) {
        Sleep(300);
    }
    return r;
}```
然后比如获取账户信息可以这样
```var account = EnsureCall(exchange.GetAccount);```
获取深度可以这样
```var depth = EnsureCall(exchange.GetDepth);```
要传入参数可以这样
```var records = EnsureCall(exchange.GetRecords, PERIOD_M5);```
这样以来,不管交易所网络如何不稳定, EnsureCall会重试得到的都是有效的数据, 不用每个函数都为了容错封装一次了.

当然你也可以把EnsureCall改名为EC或者Call之类好记又短的名子, 这样更方便.

Plus de

simple-chunAvez-vous une version PY?

le solorezfonction AssurerCall ((méthode) { Je ne sais pas. while (!(r = method.apply ((this, Array.prototype.slice.call ((arguments).slice))) { Sleep ((300); Je ne sais pas. retourner r; Je ne sais pas. fonction main (() { En utilisant la fonction InitAccount, vous pouvez créer un compte en utilisant le formulaire InitAccount. Log (InitAccount); Je ne sais pas. Il y a des erreurs comme celle ci-dessus.

le solorezJe pense qu'il est préférable que tu considères cette erreur quand tu feras de l'api.

le solorezPourquoi j'ai eu cette erreur quand je l'ai utilisée: Il est également possible de télécharger des vidéos sur les réseaux sociaux, y compris sur les réseaux sociaux.

Nul```EnsureCall ((exchange.GetAccount) ``GetAccount ne doit pas être ajouté après (((