Typescript-使用抽象类简单地共享功能

时间:2019-04-19 09:21:00

标签: typescript

使用打字稿,我有2个功能,其中有完全相同的功能代码。因此,我决定将该通用功能放入其自己的文件中。

但是我像下面那样完成了-我想知道我是否应该创建一个具有该功能的抽象类(其他类很快就会加入其中)。还是像现在nice一样保留它。

所以文件1:

import { sharedFunction } from "../common/actions";

export async function onTrigger(context: Context, documents: Resource[] | null): Promise<void> {
   sharedFunction(aParamFile1, bParamFile1)
}

文件2:

import { sharedFunction } from "../common/actions";

export async function onTrigger(context: Context, documents: Resource[] | null): Promise<void> {
   sharedFunction(aParamFile2, bParamFile2)
}

具有共享功能的动作文件:

export async function sharedFunction(input1: someType, input2: someType){
   //Do something
}}

我想知道它是否应该是抽象类的原因是,我有几个要在file1file2中使用的函数,我需要在{{1} }行的顶部。被视为import设计还是可以接受? 我想知道是否可以避免使用untidy吗?

但是另一方面,我不知道myAbstractClass.sharedFunction函数如何将抽象类扩展为函数。

感谢任何想法/建议。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以直接将导入更改为:

import * as shared from '../common/actions';

这将从该模块中导入所有内容。然后在这样导入的函数前加上shared.