I've released version 0.2 of [plz.el](https://github.com/alphapapa/plz.el), my HTTP library for Emacs Lisp that uses `curl` as a backend. This version includes a new feature, a simple request queue system. It works like this:
(defvar my-queue (make-plz-queue :limit 2))
(plz-run
(plz-queue my-queue
'get "https://httpbin.org/get?foo=0"
:then (lambda (body) (message "%s" body))))
Or:
(let ((queue (make-plz-queue :limit 2))
(urls '("https://httpbin.org/get?foo=0"
"https://httpbin.org/get?foo=1")))
(plz-run
(dolist (url urls queue)
(plz-queue queue 'get url
:then (lambda (body) (message "%s" body))))))
So far it's only been used in the newest version of [Ement.el](https://github.com/alphapapa/ement.el), my Matrix client for Emacs, to queue requests for images (like room avatars, image messages, etc). It seems to be working well, but please let me know if there are any issues.