const url = 'https://jsonplaceholder.typicode.com'
const result = new Promise((resolve, reject) => { console.log('main'); resolve('main 1'); })
.then(() => fetch(url)).then(data => data.json())
.then((resolve, reject) => {
resolve('data') // как тут вывести данные из предыдущего промиса, если он успешен?
reject('hello') // почему здесь не сработал reject и как его здесь обыграть, чтобы не дошло до catch?
})
.then((d) => { console.log('then'); throw Error(d); })
.catch((d) => { console.log('catch 1'); return `${d}, catch 1`; })
console.log(result)
catch
это .then((data,err) => err)
?new Promise().then(data => data).then(data => data).then((data,err) => return err).then(data => data)
const urls = [
'https://api.github.com/users/iliakan',
'https://api.github.com/users/remy',
'https://api.github.com/users/jeresig'
]
const requests = urls.map(item => fetch(item))
Promise.all(requests).then(data => Promise.all(data.map(item => item.json()))).then(data => data.forEach(item => console.log(item.id)))
Точнее, как в js проверить на ошибку, когда эта ошибка не является ошибкой, а результатом ответа из функции