0
点赞
收藏
分享

微信扫一扫

小满nestjs(第四章 前置知识装饰器-实现一个GET请求)


安装依赖npm install axios -S

定义控制器 Controller

class Controller {
constructor() {

}
getList () {

}

}

定义装饰器

这时候需要使用装饰器工厂

应为装饰器默认会塞入一些参数

定义 descriptor 的类型 通过 descriptor描述符里面的value 把axios的结果返回给当前使用装饰器的函数

const Get = (url: string): MethodDecorator => {
return (target, key, descriptor: PropertyDescriptor) => {
const fnc = descriptor.value;
axios.get(url).then(res => {
fnc(res, {
status: 200,
})
}).catch(e => {
fnc(e, {
status: 500,
})
})
}
}

完整代码 接口可以直接用允许跨越的

import axios from 'axios'

const Get = (url: string): MethodDecorator => {
return (target, key, descriptor: PropertyDescriptor) => {
const fnc = descriptor.value;
axios.get(url).then(res => {
fnc(res, {
status: 200,
})
}).catch(e => {
fnc(e, {
status: 500,
})
})
}
}

//定义控制器
class Controller {
constructor() {

}
@Get('https://api.apiopen.top/api/getHaoKanVideo?page=0&size=10')
getList (res: any, status: any) {
console.log(res.data.result.list, status)
}

}

小满nestjs(第四章 前置知识装饰器-实现一个GET请求)_javascript

举报

相关推荐

0 条评论