Open devoln opened 1 year ago
Вот тут происходит оборачивание ответа апи в ошибку и как раз добавляется значения rateLImit.
А здесь не опечатка случайно? Двум полям один и тот же хедер присваивается.
error.ratelimitRemaining = metadata.get('x-ratelimit-remaining') || '';
error.ratelimitReset = metadata.get('x-ratelimit-remaining') || '';
А здесь не опечатка случайно? Двум полям один и тот же хедер присваивается.
error.ratelimitRemaining = metadata.get('x-ratelimit-remaining') || ''; error.ratelimitReset = metadata.get('x-ratelimit-remaining') || '';
Да, опечатка(
@vitalets правильно понимаю что доступ к лимитам ratelimit/ratelimitRemaining можно получить только так ?
api.stream.market.trades({ instruments: robot.instruments }, (trade:any) => {
console.log(trade);
}).catch((err: TinkoffApiError) => {
console.log(err.ratelimit + '');
})
@vitalets правильно понимаю что доступ к лимитам ratelimit/ratelimitRemaining можно получить только так ?
api.stream.market.trades({ instruments: robot.instruments }, (trade:any) => { console.log(trade); }).catch((err: TinkoffApiError) => { console.log(err.ratelimit + ''); })
Насколько я помню, и в случае успешного запроса к ответу прикрепляется текущее значение ratelimitRemaining. Вот только как его достать сходу не подскажу, надо потрейсить код
Если превышен лимит на количество запросов в минуту, нужно самому обрабатывать эту ситуацию или библиотека сама повторит запрос с нужной задержкой? Если самому, то как извлечь нужную информацию об ошибке? Например о том, что это именно rate limit ошибка, а также время, когда можно выполнить повторный запрос. Предполагаю, что при ошибке будет reject у Promise. Соответственно, await выбросит исключение, но как узнать, какие поля будут у этого исключения?
Думаю, стоит добавить в ReadMe информацию об обработке ошибок.