Некоторые коды озадачивают меня в nodejs

Я изучаю node.js и вижу такие коды

const mysql = require('mysql')
const config = require('./defaults')

var pool  = mysql.createPool({
  host     : config.database.HOST,
  user     : config.database.USERNAME,
  password : config.database.PASSWORD,
  database : config.database.DATABASE,
  port      : config.database.PORT
});

let query = function( sql, values ) {
  return new Promise(( resolve, reject ) => {
    pool.getConnection(function(err, connection) {
        if (err) {
            resolve( err )
        } else {
            connection.query(sql, values, ( err, rows) => {
                if ( err ) {
                    reject( err )
                } else {
                    resolve( rows )
                }
                connection.release()
            })
        }
      })
    })
}

let postdetail = function (id) {
  let _sql = `
      SELECT * FROM posts where postid = ${id}
  `
  return query(_sql)
}

module.exports = {
  postdetail
}

Что меня озадачивает, так это то, что query - это функция, и у нее два параметра: один - sql, другой - values, но в postdetail у return есть только один параметр. Может кто-нибудь мне его объяснит? Большое спасибо.

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
0
148
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

query - это функция-оболочка для функции запроса mysql. Требуется запрос и значения. Его можно использовать для выполнения Select, Insert и Update запросов mysql.

Таким образом, в случае выбора вам нужно только передать mysql query, не нужно отправлять значения, и внутри этого метода оболочки queryvalues будет undefined.

Для таких случаев, как Insert и Updated, вы можете отправлять значения в виде массива вместе с запросом.

Другие вопросы по теме