Size: a a a

2020 November 04

Э

Эд in JS Liberty
Я пытаюсь понять. Вот ниже асинхронно рили.
Результат после фетча выведется, когда прийдёт хттп респонс.
Выполнение не блокируется.
console.log("One")
fetch('http://jsonplaceholder.typicode.com/posts')
.then(response => response.json())
.then(console.log)
console.log("Two")
Вывод:
One
Two
{ "key": "value"}

А здесь ниже выглядит синхронно, потому как выполнение блокируется после await
console.log("One")
const response = await fetch('http://jsonplaceholder.typicode.com/posts')
const data = await response.json()
console.log(data)
console.log("Two")
Вывод:
One
{ "key": "value"}
Two
Так почему пишут, что и во втором случае выполнение асинхронное, если оно синхронное?
Я так это вижу
Поправьте, если что не так
источник

S

Syntax Highlight Bot in JS Liberty
Эд
Я пытаюсь понять. Вот ниже асинхронно рили.
Результат после фетча выведется, когда прийдёт хттп респонс.
Выполнение не блокируется.
console.log("One")
fetch('http://jsonplaceholder.typicode.com/posts')
.then(response => response.json())
.then(console.log)
console.log("Two")
Вывод:
One
Two
{ "key": "value"}

А здесь ниже выглядит синхронно, потому как выполнение блокируется после await
console.log("One")
const response = await fetch('http://jsonplaceholder.typicode.com/posts')
const data = await response.json()
console.log(data)
console.log("Two")
Вывод:
One
{ "key": "value"}
Two
Так почему пишут, что и во втором случае выполнение асинхронное, если оно синхронное?
Я так это вижу
Поправьте, если что не так
источник

p

persona x grata in JS Liberty
Эд
Я пытаюсь понять. Вот ниже асинхронно рили.
Результат после фетча выведется, когда прийдёт хттп респонс.
Выполнение не блокируется.
console.log("One")
fetch('http://jsonplaceholder.typicode.com/posts')
.then(response => response.json())
.then(console.log)
console.log("Two")
Вывод:
One
Two
{ "key": "value"}

А здесь ниже выглядит синхронно, потому как выполнение блокируется после await
console.log("One")
const response = await fetch('http://jsonplaceholder.typicode.com/posts')
const data = await response.json()
console.log(data)
console.log("Two")
Вывод:
One
{ "key": "value"}
Two
Так почему пишут, что и во втором случае выполнение асинхронное, если оно синхронное?
Я так это вижу
Поправьте, если что не так
Во втором ты не указываешь async
источник

Э

Эд in JS Liberty
persona x grata
Во втором ты не указываешь async
К чему ты ведёшь?
источник

p

persona x grata in JS Liberty
Эд
К чему ты ведёшь?
ты его в консоли проверял?
источник

Э

Эд in JS Liberty
persona x grata
ты его в консоли проверял?
да
источник

p

persona x grata in JS Liberty
Эд
да
у меня в кодсандбокс не работает SyntaxError: /src/index.js: Can not use keyword 'await' outside an async function (33:17)
источник

Э

Эд in JS Liberty
ну мб в консоли заворачивается в (async()=>
) или что-то такое
источник

p

persona x grata in JS Liberty
это новый глобальный await
источник

p

persona x grata in JS Liberty
?
источник

p

persona x grata in JS Liberty
в хром видать завезли, а в кодсандбоксе еще нету?
источник

p

persona x grata in JS Liberty
источник

Э

Эд in JS Liberty
ну да
источник

p

persona x grata in JS Liberty
источник

p

persona x grata in JS Liberty
походу это баг
источник

Э

Эд in JS Liberty
почему баг? Так и работает всегда
источник

Э

Эд in JS Liberty
1 и 2 строчка вообще классика на интервью, как мне говорили
источник

p

persona x grata in JS Liberty
почему то я думаю, что sync2 должно вывестись перед async 1
источник

p

persona x grata in JS Liberty
бля это путаница из-за консоль логов асинхронных операций, ладно
источник

p

persona x grata in JS Liberty
Эд
1 и 2 строчка вообще классика на интервью, как мне говорили
а что тебе тогда было непонятно в твоем 2 примере?
источник