【金秋打卡】第13天 《Node.js+Koa2+MySQL 打造前后端分离精品项目》
2022/11/8 3:24:03
本文主要是介绍【金秋打卡】第13天 《Node.js+Koa2+MySQL 打造前后端分离精品项目》,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程名称:Node.js+Koa2+MySQL打造前后端分离精品项目《旧岛》
课程章节:第4章【深入浅出讲异常】异步异常与全局异常处理
视频:4-3 异步异常处理方案
课程讲师: 七月
课程内容:
每个方法理论上说,都需要进行try catch, 这是对异常处理万无一失的处理。
这种try catch只对同步的方法有效。如果是方法内部包含异步操作的话,实际上try catch捕捉不到异常。
//举例说明:方法内部包含异步操作的话,实际上try catch捕捉不到异常 function func1() { func2() } function func2() { try { func3() } catch (error) { console.log('error') } } function func3() { setTimeout(() => { throw new Error('error') }, 1000); } func1() //此时,无法打印error,
try catch只对同步调用有效。
当函数调用链里边有异步操作的时候,如何进行异常处理?
进行Koa编写时,如果一个函数,返回的是Promise,就可以用async await简化异常链条。
//改造后的代码 function func1() { func2() } async function func2() { try { await func3() } catch (error) { console.log('error') } } function func3() { // return await setTimeout(function(){ // throw new Error('error') // }, 1000); return new Promise((resolve, reject) => { setTimeout(function(){ const r = Math.random() if (r < 0.5) { reject('error') } }, 1000) }) } func1()
//改造后代码的输出结果 notcr@DESKTOP-57RADP4 MINGW64 /d/Koa2/island $ node test.js error notcr@DESKTOP-57RADP4 MINGW64 /d/Koa2/island $ node test.js notcr@DESKTOP-57RADP4 MINGW64 /d/Koa2/island $ node test.js notcr@DESKTOP-57RADP4 MINGW64 /d/Koa2/island $ node test.js notcr@DESKTOP-57RADP4 MINGW64 /d/Koa2/island $ node test.js notcr@DESKTOP-57RADP4 MINGW64 /d/Koa2/island $ node test.js error 可以看到,当随机数 小于 0.5时, 抛出了异常。
课程收获:
这节课提高了难度,讲了Promise async await。 try catch只对同步代码有效,对异步代码失效。
七月老师非常注重在讲编程知识的同时,讲编程思维,讲知识和知识之间的关系。编程是实践性非常强的工作,学习知识最好的方法是放到项目中。做项目的目的不是做项目,最终要做出来自己的项目,业务承载的是编程知识。明天继续刷后边的课程。
这篇关于【金秋打卡】第13天 《Node.js+Koa2+MySQL 打造前后端分离精品项目》的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-04React 19 来了!新的编译器简直太棒了!
- 2025-01-032025年Node.js与PHP大比拼:挑选最适合的后端技术进行现代web开发
- 2025-01-03?? 用 Gemini API、Next.js 和 TailwindCSS 快速搭建 AI 推文生成项目 ??
- 2024-12-31Vue CLI多环境配置学习入门
- 2024-12-31Vue CLI学习入门:一步一步搭建你的第一个Vue项目
- 2024-12-31Vue3公共组件学习入门:从零开始搭建实用组件库
- 2024-12-31Vue3公共组件学习入门教程
- 2024-12-31Vue3学习入门:新手必读教程
- 2024-12-31Vue3学习入门:初学者必备指南
- 2024-12-30Vue CLI多环境配置教程:轻松入门指南