
koa返回前端响应后,后台静默做其他操作
发布日期:2021-05-10 06:30:04
浏览次数:6
分类:技术文章
本文共 817 字,大约阅读时间需要 2 分钟。
需求描述
后端使用Koa
框架,需要接收到请求后立即给予前端响应,后续由后端继续做其他异步调用API的操作
遇到的问题
Koa
中返回前端响应的方式有两种,一种是直接return
你需要的响应参数;另一种则是设置响应body
,接口方法走完后就会自动响应到前端
return
了,则后续的代码都不会执行;如果在异步操作前设置响应body
,则也需要在异步操作走完之后,才会给到前端响应 如何解决
一、先写一个模拟异步调用API操作的方法
/** * 模拟异步调用API函数 * @param time 响应时间(毫秒) */function wait(time) { return new Promise((resolve) => { setTimeout(() => { resolve() }, time) })}
二、以同步的方式去调用异步方法
假设await wait(5000)
是后续需要进行的操作,我们将其封装到异步函数followUpUpload
中,以同步的方式去调用它 // 响应后续上传操作模拟函数async function followUpUpload() { // do something 后续操作 await wait(5000)}// 测试接口router.post('/test', async (ctx) => { try { followUpUpload() // 只需要在返回响应之前,调用该函数即可 return ctx.success('调用成功') } catch (err) { return ctx.fail(err) }})
这样做的话,就能达到返回前端响应后,后端继续做一些额外的异步操作的需求了
Keep learning…
转载地址:https://blog.csdn.net/weixin_43905402/article/details/112985181 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2023年11月22日 01时41分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Tkinter登陆界面设计
2019-03-28
C++将字符串存到数组中
2019-03-28
C++将两个字符串合并在一起
2019-03-28
CV2模块使用(详细教程)
2019-03-28
CAN报文 Intel 格式与Motorola 格式的区别
2019-03-28
C++代码运行时间
2019-03-28
C++调用函数,改变主程序变量值(一般调用不会影响主程序变量)
2019-03-28
中断优先级
2019-03-28
点云处理算法整理(超详细教程)
2019-03-28
论文 参考文献格式
2019-03-28
Pycharm安装PyQt5(详细教程)
2019-03-28
QT Desinger设计程序主界面 PyUIC生成.py
2019-03-28
STM32小问题总结
2019-03-28
FPGA知识点总结
2019-03-28
np.savetxt()——将array保存到txt文件,并保持原格式
2019-03-28
将数组写入到excel的两种方式(详细教程)
2019-03-28
h5py入门讲解
2019-03-28
进度条显示(教程)
2019-03-28
Python日常总结
2019-03-28
TensorFlow处理数据常用套路
2019-03-28