пусть ключевое слово всегда показывает неопределенную ошибку в машинописном тексте - PullRequest
0 голосов
/ 13 июля 2020

У меня есть часть кода ниже:

if (this.holdReasonList.length == 1 || this.holdReasonList == undefined || this.holdReasonList.length == 0) {
            return this._cciDataService.getHoldReasonDropList()
                .pipe(takeUntil(this.unsubscribe))
                .subscribe((res) => {
                    if (res.Success) {
                        let defaultList = [];
                        res.Data.forEach((reason: string) => {
                            defaultList.push(reason.trim());
                        })

Я всегда получал неопределенную ошибку defaultList после вызова этой строки:

let defaultList = [];

Я не понимаю, почему defaultList не определено, т. к. я четко заявил об этом.

Заранее спасибо за помощь!

ОБНОВЛЕНИЕ:

Спасибо за совет! Поскольку я пытался поместить let defaultList=[] за пределы всего блока подписки, теперь он работает.

Но причина не ясна. Я устанавливаю точку останова и набираю let defaultList = [] в консоли, и он также возвращает undefined. См. Снимок экрана ниже: введите описание изображения здесь

Думаю, мне не нужно даже думать о том, где использовать defaultList, defualtList не определено сразу после объявления. У меня нет возможности даже использовать его значение ....

1 Ответ

0 голосов
/ 13 июля 2020

Хорошо. Когда я отлаживаю Chrome devTool, переменная определяется .... Проблема заключалась в том, что я выполнял отладку с помощью VSCode.

Имейте в виду, что ключевое слово let вызовет неопределенную переменную в отладчике VSCode.

...