我开始将一个项目转换为TypeScript,我遇到了一个错误,我不知道如何解决。
当我写:
https.get(`someUrl`, resp => {
// Define Buffer
let buffer = '';
// Fill buffer
resp.on('')
});
它给了我
[ts] Parameter 'resp' implicitly has an 'any' type. [7006]
我知道我可以通过改变
https.get(`someUrl`, resp => {
到
https.get(`someUrl`, (resp: Object) => {
这是正确的解决方案吗?此外,TS不知道resp
实际上包含什么。当我写普通的JS时,它只是告诉我有什么方法和 prop ,但对于TS,我什么也得不到。当我到达resp.on('')
时,它告诉我Object
上不存在on
。这是预期的还是我做错了什么?我需要为https.get
函数写一个interface
吗?
使用Visual Studio Code
是不是因为我使用的模块不打算与TS一起使用?我想可能就是这样。
1条答案
按热度按时间wz8daaqr1#
它基于https.get回调函数的参数类型。通常它需要在resp类型或函数类型上定义,所以假设您创建了一个类型T,您希望从请求中获取该类型
然后你可以像这样添加到函数调用中
或
对象类型非常灵活,如果您使用了响应类型上不存在的属性,它将不会显示。所以除非别无选择,我不会用那个。