Как устранить ошибку TypeError на POST - PullRequest
0 голосов
/ 17 января 2020

Я создаю API в NodeJs и PostgreSQL, используя PG. На моем методе пост-продукта, пытающемся отправить данные в БД, я получаю эту ошибку:

TypeError: caller, callee and arguments properties may not be accessed on strict mode functions or the arguments objects for calls to them

Моя модель выглядит следующим образом:

async createOne(req, res) {
        console.log({...req.body});
        try {
            const product = await query(
                `INSERT INTO products (productname, description, brand, price, category, imageurl) VALUES ($1, $2, $3, $4, $5, $6)`,
                [
                    req.body.productname,
                    req.body.description,
                    req.body.brand,
                    req.body.price,
                    req.body.category,
                    req.body.imageurl
                ]
            );
            res.json({ msg: "Product added", data: product.rows });
        } catch (err) {
            return res.json({"msg": "Something went wrong!", "err":err});
        }
    }

В маршруте под названием:

    router.post("/", Product.createOne);

И я подключаюсь к этой базе данных:

const { db } = require("../config/config");
const { Pool } = require("pg");

const pool = new Pool({
    user: db.user,
    host: db.host,
    database: db.name,
    password: db.pass,
    port: db.port
});

pool.on("connect", () => {
    console.log(">> Connected to the db");
});

const query = (txt, params) => {
    return new Promise((resolve, reject) => {
        pool.query(txt, params)
            .then(res => resolve(res))
            .catch(err => reject(err));
    });
};

module.exports = { query };

Не могу понять, что на самом деле означает эта ошибка, и нужно ее устранить.

...