tslint错误 - 阴影名称:'错误'

问题描述 投票:4回答:3

tslint目前正在抛出以下错误

Shadowed name: 'err'

这是代码

fs.readdir(fileUrl, (err, files) => {
        fs.readFile(path.join(fileUrl, files[0]), function (err, data) {
            if (!err) {
                res.send(data);
            }
        });
    });

任何人都知道解决这个问题的最佳方法是什么以及错误甚至意味着什么?

node.js angular typescript lint tslint
3个回答
6
投票

您在外部和内部回调中使用相同的变量“err”,这是由tslint阻止的。

如果你想使用相同的变量,那么“no-shadowed-variable”:false,否则执行如下操作。

fs.readdir(fileUrl, (readDirError, files) => {
    fs.readFile(path.join(fileUrl, files[0]), function (readFileErr, data) {
            if (!err) {
                res.send(data);
            }
        });
    });

0
投票

在错误行上方添加此评论 -

// tslint:disable-next-line:no-shadowed-variable


-1
投票

此行将禁用您的错误,

// tslint:disable: no-shadowed-variable

但是,如果有两个错误变量也不行,你也可以将第二个错误的变量名改为不同的变量

fs.readdir(fileUrl, (err, files) => {
  fs.readFile(path.join(fileUrl, files[0]), function (readFileErr, data) {        
    if (!readFileErr) {
            res.send(data);
        }
    });
});

我有一个像interfaces.ts:119:26 - Shadowed name: 'POST' 这样的错误

// tslint:disable: no-shadowed-variable
interface API {
   export namespace APINAME {
     export type POST {

     }
   }
   export namespace OTHERAPINAME {
     export type POST {

     }
   }
}

我已用此行// tslint:disable: no-shadowed-variable禁用此错误情况,因为有时打字稿编译器无法理解您的代码:)

© www.soinside.com 2019 - 2024. All rights reserved.