首页 > 解决方案 > 如何用括号之间的多个值解决 JS Promises?

问题描述

在浏览器的控制台中,我期待 3 个连续的结果,它们是:BearsLionsTigers。按照这个顺序。我得到的只是

new Promise((resolve, reject) => {
    return reject(new Error('no bears'));
 setTimeout(() => {
         resolve('Bears', 'Lions', 'Tigers')
   }, 1000);
})

.then(quote => {
    console.log(quote);
})

标签: javascriptreactjspromise

解决方案


只有第一个参数resolve()实际传递给then处理程序。你可能想用一个数组来解决

resolve(['Bears', 'Lions', 'Tigers'])

此外,您在通话return reject()之前有一个,因此您的代码无法访问并且永远不会发生。setTimeoutsetTimeout


推荐阅读