はちゅにっき

こっちのブログはまったり更新

AngularJS で Semaphore したい

とある API を AngularJS から呼び出す時、1秒間にコールできる回数が制限されているため、同時に大量のリクエストが飛ばないよう制御したかったんだけど、AngularJS の $resource ではその辺がうまく制御できないような感じがするので*1、とりあえず Semaphore を実装してみて同時に飛ぶリクエスト数を制限してみることに。

とりあえず作ってみたら、ちょっと Semaphore とは違う気がするけれど、まぁうまく機能しているから、これでいいかなー。
あとは、$timeout を使ってリクエストがある程度分散するようにすればいいかな?

Promise API は覚えると便利だけど、なんでもやたらと Promise したくなる病気になりますね。

*1:もし制御する方法があったら教えてください