try {
let result = await request()
// ок что дальше?
} catch (oopsError) {
// снова делаю запрос с другими параметрами или обрабатываю капчу
} finally {
// дополнительно этот блок, если что-то должно выполниться в любом случае
}
while( )
выражение приводится к одному из двух: true
или false
. Цикл крутится, пока в скобках всё ещё получается true
.var i = 5;
i != 0 // true, вальсируем дальше
5 // любое ненулевое число становится true
"yes" // непустая строка тоже true
{a: "A", b: "B"} // объекты всегда true
0 // false
"" // пустая строка, false
undefined // false
null // false
NaN // false
0
даёт false
, остальные числа true
.&&
, ||
, !
их можно использовать не только для проверки двойных условий, но и, например, задавать значение на случай нуля:var a = 0;
var b = a || 42; // если a пустое. то в b попадёт запасное значение 42.
true
или false
, как внутри скобок while()
: дописать перед ним два восклицательных знака!!expression
Тут дважды применяется !
– логическое НЕ, которое уже при первом применении сделает из выражения true
или false
, только зеркально наоборот, и нужен ещё один перевёртыш, чтобы получить задуманное значение.