Ошибка tslint - теневое имя: 'err' - PullRequest
0 голосов
/ 28 мая 2018

tslint в настоящее время выдает следующую ошибку

Shadowed name: 'err'

Вот код

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

Кто-нибудь знает, как лучше всего решить эту проблему и в чем ошибкадаже означает?

Ответы [ 3 ]

0 голосов
/ 04 февраля 2019

эта строка отключит вашу ошибку,

// tslint:disable: no-shadowed-variable

, но неправильно иметь переменные towr, вы также можете изменить имя второй переменной err на другое

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

Iбыла ошибка, подобная этой 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, потому что иногда компилятор машинописного текста не может правильно понять ваш код :)

0 голосов
/ 29 апреля 2019

Добавьте этот комментарий чуть выше строки ошибки -

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

0 голосов
/ 28 мая 2018

Вы используете одну и ту же переменную "err" как для внешних, так и для внутренних обратных вызовов, что запрещено tslint.

Если вы хотите использовать одну и ту же переменную, тогда "no-shadowed-variable": false,в противном случае сделайте, как показано ниже.

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