【Promise第18题】下面代码的输出是什么?
js
Promise.resolve().then(() => { return new Error('error!!!') }).then(res => { console.log("then: ", res) }).catch(err => { console.log("catch: ", err) })
## 参考答案:
## 解析
返回任意一个非 promise 的值都会被包裹成 promise 对象,因此这里的`return new Error('error!!!')`也被包裹成了`return Promise.resolve(new Error('error!!!'))`。
## 结果"then: " "Error: error!!!"
此题中,当然如果想抛出一个错误的话,可以用下面的任意一种:
```js
return Promise.reject(new Error('error!!!'));
// or
throw new Error('error!!!')