You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/12-generators-iterators/2-async-iterators-generators/article.md
+4-4
Original file line number
Diff line number
Diff line change
@@ -264,7 +264,7 @@ So far we've seen simple examples, to gain basic understanding. Now let's review
264
264
265
265
There are many online APIs that deliver paginated data. For instance, when we need a list of users, then we can fetch it page-by-page: a request returns a pre-defined count (e.g. 100 users), and provides an URL to the next page.
266
266
267
-
The pattern is very common, it's not about users, but just about anything. For instance, Github allows to retrieve commits in the same, paginated fashion:
267
+
The pattern is very common, it's not about users, but just about anything. For instance, GitHub allows to retrieve commits in the same, paginated fashion:
268
268
269
269
- We should make a request to URL in the form `https://api.github.com/repos/<repo>/commits`.
270
270
- It responds with a JSON of 30 commits, and also provides a link to the next page in the `Link` header.
@@ -273,7 +273,7 @@ The pattern is very common, it's not about users, but just about anything. For i
273
273
What we'd like to have is an iterable source of commits, so that we could use it like this:
274
274
275
275
```js
276
-
let repo ='javascript-tutorial/en.javascript.info'; //Github repository to get commits from
276
+
let repo ='javascript-tutorial/en.javascript.info'; //GitHub repository to get commits from
1. We use the browser `fetch` method to download from a remote URL. It allows to supply authorization and other headers if needed, here Github requires `User-Agent`.
311
+
1. We use the browser `fetch` method to download from a remote URL. It allows to supply authorization and other headers if needed, here GitHub requires `User-Agent`.
312
312
2. The fetch result is parsed as JSON, that's again a `fetch`-specific method.
313
-
3. We can get the next page URL from the `Link` header of the response. It has a special format, so we use a regexp for that. The next page URL may look like this: `https://api.github.com/repositories/93253246/commits?page=2`, it's generatd by Github itself.
313
+
3. We can get the next page URL from the `Link` header of the response. It has a special format, so we use a regexp for that. The next page URL may look like this: `https://api.github.com/repositories/93253246/commits?page=2`, it's generatd by GitHub itself.
314
314
4. Then we yield all commits received, and when they finish -- the next `while(url)` iteration will trigger, making one more request.
315
315
316
316
An example of use (shows commit authors in console):
Copy file name to clipboardExpand all lines: 5-network/01-fetch-basics/article.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -54,7 +54,7 @@ To get the response body, we need to use an additional method call.
54
54
-**`response.arrayBuffer()`** -- return the response as [ArrayBuffer](info:arraybuffer-binary-arrays) (pure binary data),
55
55
- additionally, `response.body` is a [ReadableStream](https://streams.spec.whatwg.org/#rs-class) object, it allows to read the body chunk-by-chunk, we'll see an example later.
56
56
57
-
For instance, here we get a JSON-object with latest commits from Github:
57
+
For instance, here we get a JSON-object with latest commits from GitHub:
58
58
59
59
```js run async
60
60
let response =awaitfetch('https://api.github.com/repos/javascript-tutorial/en.javascript.info/commits');
0 commit comments