如何处理Typescript中未分配的变量

Mojoaxel

以下Typescript代码ts(2454): Variable "timeout" is used before it has been assigned在catch语句中导致编译错误

let timeout: NodeJS.Timeout
try {
    prepareConnection(() => {
        timeout = setTimeout(() => {
            console.log('timeout while opening connection');
        }, 10000);
        openConnection();
    });
} catch (err) {
    if (timeout) clearTimeout(timeout); //<-- Error ts(2454)
    console.error('error while opening connection');
}

有什么好的方法可以使编译器满意?

另请参阅问题在分配变量之前使用变量时的通用模式

Mojoaxel

我认为最好的解决方案是使用“确定分配声明”(自打字稿2.7起可用)。

确定分配断言是允许!的功能。放置在实例属性和变量声明之后,以中继到TypeScript,即使TypeScript的分析无法检测到该变量的确是出于所有意图和目的而分配的。

let timeout!: NodeJS.Timeout //add a exclamation mark "!"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python类如何处理未分配的类实例?

来自分类Dev

如何处理我未分配的内存

来自分类Dev

elasticsearch-如何处理未分配的分片

来自分类Dev

vlookup 中未分配变量

来自分类Dev

Unity中未分配的变量

来自分类Dev

Javascript如何处理将setInterval()分配给变量?

来自分类Dev

异步如何处理Javascript中的变量?

来自分类Dev

如何处理JavaScript中缺少的变量?

来自分类Dev

如何处理R中缺少的变量

来自分类Dev

如何处理bash中的变量替换?

来自分类Dev

如何处理TypeScript中的分支Promises?

来自分类Dev

如何处理 XSLT 中未分组但相关的数据并生成分组输出?

来自分类Dev

Elastic/Lucene 如何处理未分析的字段?

来自分类Dev

使用未分配的变量?

来自分类Dev

PHP未分配变量

来自分类Dev

变量未分配值

来自分类Dev

如何为我分配的未分配变量修复 UnboundLocalError?

来自分类Dev

环境变量未分配给Typescript

来自分类Dev

Clojure算法实现中如何处理多个变量?

来自分类Dev

python如何处理嵌套py exec()中的变量

来自分类Dev

JS引擎如何处理Condition块中的变量声明?

来自分类Dev

如何处理r中的变量未定义错误

来自分类Dev

如何处理Meteor中的AWS和Session变量?

来自分类Dev

如何处理sklearn GradientBoostingClassifier中的类别变量?

来自分类Dev

如何处理在Assert中返回null的变量

来自分类Dev

如何处理JSON中为空的变量

来自分类Dev

R如何处理lm()中的序数预测变量?

来自分类Dev

如何处理我的PATH变量中的重复项?

来自分类Dev

如何处理Ver.tx中变量的同时更新?