Создать экземпляр объекта из запроса sql с помощью узла - PullRequest
0 голосов
/ 07 мая 2020

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

Я пробовал:

class Question{
    id = null;
    label = null;
    description = null;
    answers = null;
    correction = null;
    datetime = null;
    teacher_id = null;
    visibility = null;
    tags = null;

    constructor(id){
        this.id = id ;
        var query = this.sqlSelectById(); 
    }

    sqlSelectById(){
        var mysql_query = require('../mysql_query');
        var query = mysql_query('SELECT * FROM questions WHERE id = ? ' , [this.id], function(error, response, fields) {
            response.forEach ((row) => {
                this.id = row.id;
                this.label = row.label;
                this.description = row.description;
                this.answers = row.answers;
                this.correction = row.correction;
                this.datetime = row.datetime;
                this.teacher_id = row.teacher_id;
                this.visibility = row.visibility;
                this.tags = row.tags;
            });
        });

    }
}

module.exports = Question;

Но когда я пробую это

Question = new question(1);
console.log(Question.tags);

Ответ просто нулевой ... я думаю, что запрос еще не выполнен, когда я хочу написать Question.tags. Но я не знаю, как это сделать с классом. Я не нашел никакой документации по этой конкретной проблеме c. Всегда справедливо запрашивать базу данных mysql с помощью узла.

Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...