Avi*_*ppo 6 typescript reactjs web3js
我对打字稿相当陌生,所以我收到一个错误,指出“未知”类型的参数不能分配给“错误 | 类型”的参数。null',我不明白为什么我会得到这个。我该如何解决这个问题?
export function subscribeToAccount(
web3: Web3,
callback: (error: Error | null, account: string | null) => any
) {
const id = setInterval(async () => {
try {
const accounts = await web3.eth.getAccounts();
callback(null, accounts[0]);
} catch (error) {
callback(error, null);
}
}, 1000);
return () => {
clearInterval(id);
};
}
Run Code Online (Sandbox Code Playgroud)
该错误是由这一行引起的:
callback(error, null);
Run Code Online (Sandbox Code Playgroud)
errorfrom的类型catch (error)是unknown,并且您指定该callback函数接受Error | null作为其第一个参数,因此会出现错误。
在这里阅读更多内容
strict将值设置为false您的tsconfig文件
明确指定error类型any
try {
const accounts = await web3.eth.getAccounts();
callback(null, accounts[0]);
} catch (error: any) {
callback(error, null);
}
Run Code Online (Sandbox Code Playgroud)
在 catch 内进行类型检查
try {
const accounts = await web3.eth.getAccounts();
callback(null, accounts[0]);
} catch (error) {
if (error instanceof Error ) {
callback(error, null);
} else {
// handle
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11299 次 |
| 最近记录: |