TYPESCRIPT

A collection of 5 posts
TYPESCRIPT

typescript 复用函数或类方法的参数类型

日常开发中,总会需要去封装一些三方库的功能进行使用。 在遇到简单类型的函数使用时,我们直接给我们功能函数添加上和被包装函数相同的类型即可。如: function A(args: number) { return libFun(args: number) } 但若是遇到复杂类型,如何直接去复用或者说继承被包装函数的类型? 1、复用函数类型 function base(a: number, b: number, c: number): number function derived(add: string, ...base: Parameters<typeof base>): number Extending another TypeScript function with additional argumentsIs it possible in TypeScript to define
2 min read
TYPESCRIPT

Typescript 实现一个简单的AOP,后置切面

最近回顾了下AOP——面向切面编程,刚好项目有需要用到,就使用了一下,感觉效果不错,代码贴出来,请拍砖。 主要用到的就是装饰器特性。 主要目的是在实例test.request方法调用后,自动顺序执行components和log方法 export function after(...args) { return (_target, name, descriptor) => { // 获取value,其实就是request函数 const oldValue = descriptor.value; // 将value重新赋值一个函数 descriptor.value = async function () { // tslint:disable-next-line: no-console console.log(`Calling ${name} with`, arguments); // 将原本的函数执行一下,apply改变this的指向 const val = await oldValue.apply(t
1 min read