我正在尝试扩展Array接口,但遇到以下Flow InferError: “无法实现'Array',因为它不是接口”
这是一个导致错误的非常简单的示例:
export interface MyIArray<T> extends Array<T> {
}
function foo() {
const list: MyIArray<any> = [];
}
在此示例中,使用const列表声明使Flow感到沮丧。
Try。
答案 0 :(得分:0)
抱歉,这应该是评论,但“尝试流程”链接太长:
看起来像IObservableArray
的错误的mobx类型。我从链接的文件中复制了相关类型,并尝试将数组变量声明为IObservableArray
,而Flow抱怨(Try Flow)。我不确定是否存在直接键入和扩展Array
的有效方法。如果可以的话,如果您将MyIArray
与Array
组合在一起,则键入MyIArray
会更容易-在MyIArray
实例上设置一个原始数组的属性,然后向其中添加其他属性/方法SELECT a.pid,
b.t1q,
c.t2q,
d.t3q
FROM (SELECT DISTINCT(pid) FROM table1 AS pid) a
JOIN (SELECT pid, SUM(quantity) AS t1q FROM table1 WHERE to_id = 10 GROUP BY pid) b ON a.pid = b.pid
JOIN (SELECT pid, SUM(quantity) AS t2q FROM table1 WHERE from_id = 10 GROUP BY pid) c ON a.pid = b.pid
JOIN (SELECT pid, SUM(quantity) AS t3q FROM table3 WHERE some_id = 10 GROUP BY pid) d ON a.pid = d.pid
。