我将一个类定义为:
mciSendString
AllocConsole
在哪里:
export class SerializedQuery<T extends object = IDictionary> { ... }
稍后尝试使用该类时,请执行以下操作:
IDictionary
此处的export interface IDictionary<T = any> {
[key: string]: T;
}
指的是定义此方法的类:
o._query = new SerializedQuery<T>(`${r.dbPath}`);
对T
的引用是一个正确导入的类,但是当我在export class WatchRecord<T extends Model> extends WatchBase<T> { ... }
的构造函数中遇到类型错误时:
但是具有多个公共属性的类肯定可以满足Model
的要求,实际上我在相同的使用代码库中找到了另一个示例:
SerializedQuery<T>
这似乎是相同的输入,但是没有错误?为了隔离一点,我删除了object
并将其替换为 public static async all<T extends Model>(
model: new () => T,
options: IListOptions<T> = {}
): Promise<List<T>> {
const query = new SerializedQuery<T>().orderByChild("lastUpdated");
const list = await List.fromQuery<T>(model, query, options);
return list;
}
以使该需求多了1:1,但这没什么区别。
答案 0 :(得分:0)
您正在Clock: perf_counter
Adjustable: False
Implementation: QueryPerformanceCounter()
Monotonic: True
Resolution(ns): 100
静态方法内创建time.sleep()
,该方法具有自己的SerializedQuery<T>
泛型类型声明,并且该类型不符合record<T>
约束。 T
声明的extends Model
类型仅适用于该类的实例,但不适用于静态方法。您还应该向T extends Model
方法WatchRecord
类型声明中添加extends Model
,以使这些类型兼容。
record