前言
最近工作中使用web框架转发,处理数据较多,记录一下响应请求之后再对传入的数据就行处理。(业务需要,3s内需要返回响应,所以才会出现这种需求)
一、flask
@app.route('/data', methods=["POST"])
def parse():
datas = request.get_json()
print(datas)
# 使用thread来实现在return返回之后处理数据逻辑函数
thread = Thread(target=select, kwargs={'datas': request.args.get('value', datas)})
thread.start()
print("返回数据成功")
return return_data
def select(datas):
#处理返回的数据
pass
二、express
在了解express框架之前,打算使用setTimeout来实现该功能,结果就是无知。。
在res.send之后还是会执行
var exp = require("express")
var app = exp()
var port = 5000
// post接受json 需要设置
// 之前版本会依赖 body-parse的库,之后版本更新整合到express中了
app.use(exp.json())
app.use(exp.urlencoded({extended: false}))
app.post("/data", (req, res) => {
var datas = req.body
return_data = {}
res.send(return_data)
select(datas)
})
function select(datas) {
return ""
}
三,nestjs
nestjs其实和express的处理差不多,导入express的东西来用就行
原生是使用return来响应请求,这里直接改成res.send好用的多
import { Body, Controller, Get, Post, Query, Req, Res } from '@nestjs/common';
@Controller('data')
export class FeishuapiController {
@Post()
add(@Res() res, @Body() datas) {
var data = datas['action']['value']['data']
res.send(data)
select(datas)
}
}
function select(datas) {
return ""
}
该处使用的url网络请求的数据。
总结
nestjs还是嫩了点,一百度nestjs的内容都自动转换nodejs的内容了