2010-01-26 2 views

Odpowiedz

14

Synchroniczny interfejs API zablokuje wywołującego, aż do jego powrotu. Asynchroniczny interfejs API nie blokuje wywołującego i zwykle wymaga wywołania zwrotnego, które zostanie wykonane po zakończeniu pracy.

Blocking

Callback

+0

Kiedy i dlaczego będziemy potrzebować asynchronicznego API? Funkcje oddzwaniania naprawdę przeszkadzają i nie są wygodne do dodania nowej metody. – Stallman

+2

@Stallman: jeśli masz pracę, która zajmie, powiedzmy, 10 minut, a nie chcesz, aby aplikacja zatrzymała się na te 10 minut, wygenerujesz asynchroniczny wątek. Czy o to pytasz? –

+0

@MikeWilliamson Prawie rację. Dzięki za odpowiedzi. – Stallman

3

Można mieć takie same w API Web. Niektóre interfejsy API zwrócą dane w treści wyniku wywołań, a inne po prostu zwrócą (np.) 202, a następnie zrobią coś w tle (przetwarzanie danych, konfiguracja subskrypcji). Webhooks to popularny sposób na odesłanie Cię do ciebie, gdy zadanie, o które prosiłeś, jest "gotowe".

W przypadku 3scale używamy zarówno trybów synchronicznych, jak i asynchronicznych z użyciem webhooków, aby uniknąć sytuacji, w której ludzie muszą się zbytnio związać z systemami.