try/catch无法捕获promise.reject的问题
```
function f2() {
  try {
    Promise.reject('出错了');
  } catch(e) {
    console.log(e)
  }
}

```
- 执行`f2()`，无法通过try/catch捕获promise.reject，控制台抛出`Uncaught (in promise)`

```
async function f() {
  try {
    await Promise.reject('出错了')
  } catch(e) {
    console.log(e)
  }
}
```
- 为什么改成await/async后，执行`f()`就能在catch中捕获到错误了，并不会抛出`Uncaught (in promise)`
这样应该就理解了吧，拒绝发生在未来回调只会在未来的事件循环中执行。
```
function f2() {
  try {
    Promise.reject('出错了').catch(err => {
      console.log('2', err)
    });
    console.log('1')
  } catch (e) {
    console.log(e)
  }
}
```