Javascript Flowjs-具有泛型类型参数的方法在被调用时不接受参数
我很难理解为什么我的mockPG对象文本没有被接受为泛型registerDataService方法调用的参数 在此失败:Javascript Flowjs-具有泛型类型参数的方法在被调用时不接受参数,javascript,reactjs,flowtype,Javascript,Reactjs,Flowtype,我很难理解为什么我的mockPG对象文本没有被接受为泛型registerDataService方法调用的参数 在此失败: registerDataService(mockPG) 我得到的错误是: 无法调用绑定到pgPool的mockPG的registerDataService,因为对象文字与属性查询返回值的类型参数R[3]中的T[2]不兼容 这里的任何指针都会很好 我的代码 type pgPoolType<T> = { query: <T>(sql: string,
registerDataService(mockPG)
我得到的错误是:
无法调用绑定到pgPool的mockPG的registerDataService,因为对象文字与属性查询返回值的类型参数R[3]中的T[2]不兼容
这里的任何指针都会很好
我的代码
type pgPoolType<T> = {
query: <T>(sql: string, args: Array<?string>) => Promise<T>
};
const validateNewUserNameAsync = (userName: string, pgPool: pgPoolType<pgPoolQueryResponse<row>>):
Promise<validateNewUserNameAsyncResponse> => {}
const registerUserAsync = (userDetails: ud, userStatusId: string, authUrl: string,
pgPool: pgPoolType<pgPoolQueryResponse<registernRow>>
): Promise<registerUserAsyncResponse> => { }
module.exports = (pgPool: pgPoolType<any>) => ({
validateNewUserNameAsync: (userName: string) => validateNewUserNameAsync(userName, pgPool)
registerUserAsync: (userDetails: ud, userStatusId: string, authUrl: string) =>
registerUserAsync(userDetails, userStatusId, authUrl, pgPool)
});
注册数据服务单元测试
const mockPG = {
query: (sql: string, args: Array<?string>) => new Promise((resolve)
=> {
resolve({
rows: [
{
usernameAvailable: false,
alternativeUserName: ['ray1', 'ray_22', 'ray_786']
}
]
});
}).then((res) => res)
};
}
registerDataService(mockPG) // **<-- error here with mockPG:**
const mockPG={
query:(sql:string,args:Array我设法让它工作
我在查询功能中犯了一个错误:
type pgPoolType<T> = {
query: <T>(sql: string, args: Array<?string>) => Promise<T>
};
type pgPoolType={
查询:(sql:string,args:Array)
type pgPoolType<T> = {
query: (sql: string, args: Array<?string>) => Promise<T>
};