我开始将项目转换为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时,它只是告诉我有什么方法和道具,但是使用TS我什么也没得到。当我到达resp.on('')
时,它告诉我on
上不存在Object
。这是预期的还是我做错了什么?我需要为interface
函数编写一个https.get
吗?
我正在使用Visual Studio代码
是因为我使用的模块不打算与TS一起使用?我想可能就是那样。
答案 0 :(得分:1)
它基于https.get回调函数参数类型。通常,它需要在resp类型或函数类型上进行定义,因此,假设您创建了一个T类型,您希望从请求中获取该类型
$ nvcc -arch=sm_62 -std=c++11 -I ./ main.cu -o main
$ cuobjdump ./main
Fatbin elf code:
================
arch = sm_62
code version = [1,7]
producer = <unknown>
host = linux
compile_size = 64bit
Fatbin elf code:
================
arch = sm_62
code version = [1,7]
producer = cuda
host = linux
compile_size = 64bit
Fatbin ptx code:
================
arch = sm_62
code version = [5,0]
producer = cuda
host = linux
compile_size = 64bit
compressed
然后您可以像这样添加到函数调用中
type ResponseType = { data: any };
或
https.get<ResponseType>(...);
对象类型非常灵活,如果您使用响应类型中不存在的属性,则不会显示。所以除非没有其他选择,否则我不会使用它