为什么这个 try-catch-finally 没有没有执行 finally 部分?
import got from 'got'; (async () => { try { console.log('try'); const res = await got('https://www.baidu.com'); console.log('got', res); } catch (error) { console.log('error', error); } finally { console.log('finally'); } })();
直接输出
[email protected]:~/c/test_got ➤ ts-node index.ts try [email protected]:~/c/test_got ➤
got: “version”: “11.8.2”
然后,在下面加了个 setTimeout 避免 nodejs 退出(我也不知道为什么就直接退出了)也没用。
import got from 'got'; (async () => { try { console.log('try'); const res = await got('https://www.baidu.com'); console.log('got', res); } catch (error) { console.log('error', error); } finally { console.log('finally'); } })(); console.log('waiting'); setTimeout(() => { console.log('wait over'); }, 1e9);
输出
[email protected]:~/c/test_got ➤ ts-node index.ts try waiting