Skip to content

Commit 713f63b

Browse files
committed
added new fn for async progrm
1 parent e34a7d8 commit 713f63b

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

intro/magic_1_s_a_.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import requests
2+
import threading
3+
from concurrent.futures import Future
4+
5+
class FetchFuture(Future):
6+
def __init__(self, url):
7+
super().__init__()
8+
thread = threading.Thread(target=self._fetch, args=(url,))
9+
thread.start()
10+
11+
def _fetch(self, url):
12+
response = requests.get(url)
13+
self.set_result(response.json())
14+
15+
16+
def gen(url):
17+
data = yield FetchFuture(url)
18+
print(data)
19+
yield
20+
21+
22+
url = "https://api.nbp.pl/api/exchangerates/rates/a/eur"
23+
g = gen(url)
24+
future = next(g)
25+
26+
future.add_done_callback(lambda f: g.send(f.result()))

0 commit comments

Comments
 (0)