В своем приложении я делаю несколько вложенных вызовов AJAX к LiquidPlanner API, который ограничивает запросы до 30 requests every 15 seconds
. Когда я достигаю предела, я хочу установить своего рода тайм-аут, чтобы прекратить отправку запросов к API, пока не истекут 15 секунд. Это (на данный момент) будет использовать только один человек, поэтому несколько клиентов не являются проблемой.
При достижении предела скорости ответ будет следующим:
{
"type":"Error",
"error":"Throttled",
"message":"34 requests, exceeds limit of 30 in 15 seconds. Try again in 7 seconds, or contact [email protected]"
}
Вот код, упрощенный для краткости:
$.getJSON('/dashboard/tasks/123, function(tasks) {
$.each(tasks, function(t, task) {
$.getJSON('/dashboard/project/987, function(project) {
$.getJSON('/dashboard/checklist-items/382983, function(checklist-items) {
// form some html here
});
});
});
});
Таким образом, в любой момент этого процесса я могу достичь предела, и мне придется подождать, пока истечет тайм-аут.
Я также открыт для предложений по лучшему формированию запросов вместо их вложенности.