ошибка синхронизации nodejs mysql2 (промежуточное значение) не может быть повторена

#node.js #express #node-mysql2

#node.js #выразить #узел-mysql2

Вопрос:

мой маршрут такой

 import express from 'express'
import mysql from 'mysql2'
import { dbusername } from '../constant/db'
import { dbpassword } from '../constant/db'
import { dbname } from '../constant/db'
import { host } from '../constant/db'
let router = express.Router()
router.post('/', async (request, res, next) => {
    try {
        const { email, password } = request.body
        const connection = await mysql.createConnection({
            host: host,
            user: dbusername,
            password: dbpassword,
            database: dbname,
        })
        const [
            rows,
            fields,
        ] = await connection.execute(
            'SELECT `id` FROM `users` WHERE `email`= ? AND `password` = ?',
            [email, password]
        )

        res.status(200).json({ status: true })
    } catch (error) {
        console.log('error async', error)
    }
})
  

Я пытаюсь запросить таблицу пользователей, чтобы проверить, существует ли пользователь. Использование асинхронного ожидания nodejs msql2. Я получил эту ошибку

 error async TypeError: (intermediate value) is not iterable
    at /Users/cos/Desktop/admin/routes/login.js:21:7
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
  

Ответ №1:

Я думаю, вам нужно импортировать обещанную версию mysql2:

 import mysql from 'mysql2/promise';