Skip to content

Commit d962e7a

Browse files
authored
lesson04 updates (#201)
1 parent e9b0f37 commit d962e7a

File tree

2 files changed

+10
-13
lines changed

2 files changed

+10
-13
lines changed

lessons/lesson04/01.md

+1-8
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ API браузера для работы с веб страницей и ее э
7676

7777
- `document.getElementById`
7878
- `document.getElementsByTagName`
79+
- `document.getElementsByClassName`
7980
- `document.querySelector`
8081
- `document.querySelectoAll`
8182

@@ -161,14 +162,6 @@ console.log(JSON.parse(localStorage.getItem("value2"))); // { name: 'Bob' }
161162

162163
Важно помнить, что если значения нет - вы получите `null` и десериализация сломается. Поэтому перед вызовом `parse` нужно проверять данные.
163164

164-
<!-- v -->
165-
166-
В разработке принято писать на уровне интерфейсов (абстракций), а не реализаций. То есть вы должны знать ЧТО делает функция или модуль, но не КАК.
167-
168-
Когда вы начинаете использовать детали реализации - это называется "протекающая абстракция".
169-
170-
<!-- v -->
171-
172165
### Вопросы?
173166

174167
<!-- v -->

lessons/lesson04/02.md

+9-5
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ function doSomething() {
119119

120120
const promise = doSomething();
121121
promise.then(successCallback, failureCallback);
122+
promise.then(successCallback).catch(failureCallback);
122123
```
123124

124125
<!-- v -->
@@ -161,17 +162,20 @@ calculateSomethingAsyncWithPromise(x)
161162
```
162163

163164
<!-- v -->
165+
[Top-level await](https://github.com/tc39/proposal-top-level-await).
164166

165-
**НО!** сейчас `await` работает только в `async` функциях.
166-
167-
Хотя мы все ждем [Top-level await](https://github.com/tc39/proposal-top-level-await).
168-
167+
```js [1-30]
168+
const x = 2;
169+
const result = await calculateSomethingAsyncWithPromise(x);
170+
const secondResult = await calculateSomethingElseAsyncWithPromise(result);
171+
console.log(secondResult);
172+
```
169173
<!-- v -->
170174

171175
Краткий итог:
172176

173177
- некоторый функции нужно вызывать с ключевым словом `await`
174-
- `await` работает только внутри функций, которые помечены как `async`
178+
- `await` работает только внутри функций, которые помечены как `async` и в top-level
175179

176180
Подробнее мы будем разбирать на занятии про асинхронность
177181

0 commit comments

Comments
 (0)