我是 rxjs 的新手,你能告诉我下面有什么问题吗?
interface IHTTP {
req: IncomingMessage;
res: ServerResponse;
handler?: Promise<any>;
}
server = http.createServer();
let request$: Observable<any>;
request$ = fromEvent(server, 'request').pipe(
map(([req, res]: [IncomingMessage, ServerResponse]): IHTTP => {
return { req, res } as IHTTP;
}
)
);
编译错误:
TS2345: Argument of type 'OperatorFunction<[IncomingMessage, ServerResponse], IHTTP>' is not assignable to parameter of type 'OperatorFunction<unknown, IHTTP>'. Type 'unknown' is not assignable to type '[IncomingMessage, ServerResponse]'.
答案 0 :(得分:0)
我发现我必须将 fromEvent 的第一个参数定义为:
server as FromEventTarget<[http.IncomingMessage, http.ServerResponse]>
否则 Typescript 认为它是 FromEventTarget<unknown>