nodejs系列:84.koa之koa-onerror-下

102 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第30天,点击查看活动详情

系列介绍

该系列主要是介绍一些nodejs相关的基础知识,没有什么特别难的知识点,都是一些比较基础知识点。大家学习起来,也会比较容易理解和接收。

这些知识点,也是以前自己学习nodejs的时候,学习过的知识点。有些知识点,可能是由于学习的时间比较久了,也有可能是平时工作中用到的机会比较少,也差不多快把它们都忘记掉了。现在把它们都写下来,写成文章,一方面是记录下自己以前学习的nodejs知识点,一方面也是复习巩固自己以前学习的nodejs知识点。不要学着学着,就把以前的知识点都忘光了。

环境安装

实现之前,你首先需要安装nodejs环境。因为我们写的代码需要在node环境上运行,如果你没有,那么文件会运行不了。

以下是nodejs的安装地址,如果你没有安装的话,可以先把它安装上。安装了可以忽略这一步,跳到下面一步。

nodejs安装

前言

在上一篇文章里nodejs系列:83.koa之koa-onerror-中,主要是完成了koa之koa-onerror中间件示例里要用到的服务器端代码逻辑。

客户端页面和服务器端代码逻辑已经完成了,接下来,我们就要进行前后端联调,看下会不会遇到什么问题

koa-onerror

koa-onerror中间件,可以在服务器产生错误(比如 throw抛出错误等)时,自动重定义到你指定的路径。

示例

在cmd里,用node运行index.js文件,启动服务器。

0001.png

在浏览器里,打开index.html页面

0002.png

在input输入框了,我们输入请求路径/user。点击button按钮,发送ajax请求。

0003.png

我们打开浏览器的控制台,查看日志

0004.png

发现ajax请求成功了,内容响应了,我们把响应内容打印到了浏览器的控制台了。

现在是正常请求,请求成功,服务器响应内容给到客户端。如果服务器出错了,那又会怎么样呢?

我们模拟一下服务器出错的场景,接下来,我们在index.js文件里修改一下服务器端代码逻辑。

get("/user", (ctx) => {
    throw new Error("服务器出错");
  })

/user路由了,我们通过throw抛出一个错误,来模拟服务器出错场景。

在cmd里,用node重新运行index.js文件。在浏览器里,刷新一下,在input输入框重新输入/user路径,点击button按钮发送ajax请求。

我们到浏览器控制台查看一下日志

0005.png

发现,打印的是/error路径返回的信息

我们到cmd里查看一下,错误信息也是打印出来了。

0006.png

小结

本小节,主要是进行了koa之koa-onerror中间件示例的前后端联调工作。在联调的时候,我们模拟了服务器端出现错误的场景。如果使用了koa-onerror中间件,服务器出错的时候,会重定向到你指定的路径。

利用koa-onerror中间件,我们就可以很方便地做错误信息的统一处理和管理了。

最后,放上自己比较喜欢的一句诗句:

千淘万漉虽辛苦,吹尽狂沙始到金 - 唐 刘禹锡《浪淘沙》