Telstra Ответов: 1

Error - typeerror: не удается прочитать свойство 'then' нулевого узла js


У меня есть ниже фрагмент кода, который дает мне ошибку. Я получаю ответ от getFilteredList, который имеет длину 1, и у него есть правильные данные json. Но не уверен, почему это дает ошибку.

TypeError: Cannot read property 'then' of null


getFilteredList(group, feature).then(r=>{ //here I am getting error. 
    if(r.data.response_code == "1")
    {
      const columnName = "ColumnName";
      const Codes = r.data.response_message.map(x => x[columnName]);
      Codes.forEach(code => {
        let store = getStoreValue(code);
        getDetailsById(id, datastore)
        .then(r=>{
          res.status(200).send(r.data);
        }).catch(e=>{
          parseError(e, res);
        });
      })
    }
  }).catch(e=>{
      parseError(e, res);
    });
}


Что я уже пробовал:

getFilteredList() - это еще один узел js-сервиса, который возвращает данные, когда я тестировал его с помощью Saop UI. Я вижу это и в журналах приложений. Я не понимаю, почему он говорит null, хотя и имеет данные
Ниже приведены примеры данных, которые он возвращает.
{"CODE":"AGR","GRP":"LEND","FEAT_CODE":"SRC_AGREE","GROUP_NAME":"Prop","FEA_NAME":"Property","DISPLAY_NAME":"Property","ROLE_CODE":"LE"}

1 Ответов

Рейтинг:
2

Richard MacCutchan

getFilteredList(group, feature).then(r=>{

Сообщение просто означает, что призыв к getFilteredList ничего не возвращает.


Telstra

Но этот же вызов работает в моем еще одном узле js-сервиса, где этот вызов возвращает данные.
getDetailsById(adgroup, featureSet).then(r=>{ -- эта строка здесь работает нормально.
if(r.data.response_code == "1") -- это условие работает нормально.
{
}

Richard MacCutchan

Извините, что я скопировал неправильную строку вашего вопроса; см. обновленный код выше. Вам нужно использовать свои инструменты отладки, чтобы выяснить, почему он ничего не возвращает.

Telstra

getFilteredList () - это еще один узел js-сервиса, который сам возвращает данные json, и я могу видеть эти данные в журналах. Ниже приведены данные, которые он возвращает.

{"CODE":"AGR","GRP":"LEND","FEAT_CODE":"SRC_AGREE","GROUP_NAME":"Prop","FEA_NAME":"Property","DISPLAY_NAME":"Property","ROLE_CODE":"LE"}

F-ES Sitecore

Вы можете подумать, что это то, что он возвращает, но это не так, он возвращает null, следовательно, ошибку.

Telstra

Я получил этот ответ из журналов, и я могу видеть это в строковой переменной json, а также из службы getFilteredList ().

Richard MacCutchan

Это не имеет значения. Проблема, очевидно, в том, что призыв к getFilteredList ничего не возвращает. И, как уже сказал вам F-ES Sitecore, именно поэтому вы получаете ошибку. Все, что вы видите в журналах, не доказывает, что делает ваш код.

Telstra

Кроме того, я использую сервис getFilteredList() и в другом файле, где он прекрасно работает с теми же строками Блока кода. Не знаю, почему он здесь не работает.

Richard MacCutchan

Как я уже предлагал, используйте свои инструменты отладки, чтобы выяснить это. Здесь никто не сможет сделать это за тебя.