Сначала я думаю, resolve
просто передает параметр в функцию в then
, поэтому я попробовал это
const promise = new Promise((resolve, reject) => {
resolve(new Promise(resolve => resolve(2333)))
})
// promise.then(innerPromise => {
// innerPromise.then(num => console.log(num))
// })
promise.then(num => console.log(num))
Строки с комментариями получили ошибку: innerPromise.then is not a function
, поэтому я предполагаю resolve
в первую очередь поможет вам выполнить обещание внутри, если у вас есть обещание в качестве параметра
Итак, я попробовал reject
, я думаю, что это будет то же самое
const promise = new Promise((resolve, reject) => {
reject(new Promise(resolve => resolve(2333)))
})
promise.then(null, innerPromise => {
innerPromise.then(num => console.log(num))
})
// promise.then(null, num => console.log(num))
Строки без комментариев будет записан 2333
, закомментированные строки будут просто записывать отклоненный Promise
экземпляр