Задать вопрос
@AlexNew22

Почему ошибка в then не возвращает результат промиса?

Почему в данном случае не срабатывает ошибка и промис не возвращает результат в виде ошибки, которую мы бы обработали в result?
const url = 'https://jsonplaceholde'
function getUserAccess(url) {
	return new Promise((resolve, reject) => {
  	fetch(url).then(data => resolve(data.json())).then(null, err => {throw err})
  })
}

const app = async () => {
	const result = await getUserAccess(url).catch(err => err.message)
  console.log(result)
}

app()
  • Вопрос задан
  • 153 просмотра
Подписаться 1 Простой 8 комментариев
Ответ пользователя Rsa97 К ответам на вопрос (2)
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что в первом .then вы вызываете callback-функцию resolve, которая завершает выполнение функции и переводит Promise в состояние fulfilled со значением, равным Promise из data.json(). Ошибка в data.json() будет обрабатываться уже в рамках нового Promise.
Ответ написан