【问题标题】:nodejs mysql2 async error (intermediate value) is not iterablenodejs mysql2异步错误(中间值)不可迭代
【发布时间】:2020-10-18 13:32:02
【问题描述】:

我的路线是这样的

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)

【问题讨论】:

    标签: node.js express node-mysql2


    【解决方案1】:

    我觉得你需要导入mysql2的promise版本:

    import mysql from 'mysql2/promise';
    

    【讨论】:

      猜你喜欢
      • 2016-03-17
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      相关资源
      最近更新 更多