CALLBACK ERROR: TypeError: Невозможно прочитать свойство 'строки' из неопределенного - PullRequest
0 голосов
/ 01 октября 2018

Я добавляю нумерацию страниц в список товаров.Но я продолжал иметь ошибку:

console.log(data.rows);
                   ^

Вот мой js-файл, который запрашивает мою базу данных:

list: (client, filter, callback) => {
const productListQuery = `
SELECT * 
FROM products 
ORDER BY id
`;
client.query(productListQuery, (req, result)=>{
  console.log(result.rows);
  callback(result.rows);
});

Вот мой router.get в моем server.js:

app.get('/products', function (req, res, next) {
  Product.list(client, {limit: 8}, {offset: (req.query.p - 1) * 8}, {
  }, function (products) {
    res.render('/client/product-list', {
      products: products,
      title: 'Products',
      pagination: {
        page: req.query.p || 1,
        limit: 8,
        n: req.query.p || 1
      }
    });
  });
});

1 Ответ

0 голосов
/ 01 октября 2018

Это просто означает, что ваш data равен undefined, а в JavaScript undefined объекты не имеют никакого свойства или значения.

Рекомендую вам пройти хотя бы Документация JavaScript перед его использованием.

Когда вы вызывали свою базу данных, произошла ошибка в ответе, и поскольку вы не обработали ответ правильно, получая эту ошибку.

Чтобы понять разницу между undefined и другими значениями объекта:

let a;
let b = 22;
let c = null;
let d = {
    'a': 22,
    'b': [4,5,6]
};

console.log(a);  // undefined
console.log(a.b);  // TypeError: Cannot read property 'b' of undefined
console.log(b);  // 22
console.log(b.c);  // undefined
console.log(c);  // null
console.log(d.a);  // 22
console.log(d.b);  // [4,5,6]
console.log(e);  // ReferenceError: e is not defined
...