web-dev-qa-db-fra.com

Erreur tslint - Nom masqué: «err»

tslint génère actuellement l'erreur suivante

Shadowed name: 'err'

Voici le code

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

Quelqu'un a une idée de la meilleure façon de résoudre ce problème et de la signification de l'erreur?

8
bobdolan

Vous utilisez la même variable "err" dans les rappels externes et internes, ce qui est empêché par tslint.

Si vous souhaitez utiliser la même variable, alors "variable sans ombre": false, sinon faites comme ci-dessous.

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

cette ligne désactivera votre erreur,

// tslint:disable: no-shadowed-variable

mais ce n'est pas correct d'avoir des variables d'erreur de remorquage, vous pouvez également changer le nom de la deuxième variable d'erreur en quelque chose de différent

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

J'ai eu une erreur comme celle-ci 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 {

     }
   }
}

J'ai désactivé ce cas d'erreur avec cette ligne // tslint:disable: no-shadowed-variable parce que parfois le compilateur TypeScript ne peut pas comprendre votre code correctement :)

0
Nver Abgaryan

Ajoutez ce commentaire juste au-dessus de la ligne d'erreur -

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

0
Ankit