Создать многопоточность в Clojure - PullRequest
0 голосов
/ 08 мая 2020

У меня есть этот код:


      (do 
               ;**[1]** 
        (.start (Thread. 
          (http/get "http://127.0.0.1:8001/cardiologista/api/auth/ms1"
                       {:query-params {:verify "my-hash"}}))
        )
            ;**[2]**
        (.start (Thread. 
               (let [session (:session request)]
                   (-> (redirect "/client/dashboard")
                       (assoc :session verifica))))
        )
      )

Я хочу сделать вызов get ( [1] ), и я не хочу ждать обратного вызова (я выиграл » t использовать обратный вызов), однако я не хочу ждать ответа от этого вызова для перенаправления ( [2] ) страницы, я пытался сделать это таким образом (используя поток), но это не сработало.

Короче: я хочу сделать вызов GET [1] и после этого вызова вызвать функцию перенаправления [2], но я не могу дождаться ответа на вызов GET. (Не знаю, поможет ли это решить с помощью потока)

1 Ответ

0 голосов
/ 08 мая 2020

Как сказал друг в комментариях, я использовал future для решения проблемы, функция была такой:

(do 
  (future 
    (http/get "http://127.0.0.1:8001/cardiologista/api/auth/ms1"
              {:query-params {:verify "my-hash"}}))
  (let [session (:session request)]
    (-> (redirect "/cliente/dashboard")
        (assoc :session verifica))))
...