iT邦幫忙

0

Nodejs該怎麼返回MySQL的結果給前端?

  • 分享至 

  • xImage

大家好,
請問我已取得資料庫的資料,
我該如何將資料傳給前端?

const connectFunction = (query) => {
    connection.query(query, (error, results, fields) => {
        if (error) throw error
        //抓不到這個 JSON.parse(JSON.stringify(results))
        return JSON.parse(JSON.stringify(results))
    })
    connection.end(function (error) {
        if (error) throw error
    });
}

const read = ()=>{
    let query ='.......'
     return connectFunction(query)
}

//這是graphql的
const root = {
    users: () => {
        //console.log(read())是undified
        return read()
    }
}

---------更新--------------
謝謝,我將connectFunction改成 Promise,就成功了。

const connectFunction = (query) => {
    return new Promise(resolve => {
        const connection = mysql.createConnection({
            // connectionLimit: 1000,
            host: 'localhost',
            user: 'root',
            password: '',
            database: 'graphql'
        })
        connection.query(query, (error, results, fields) => {
            if (error) throw error
            resolve(JSON.parse(JSON.stringify(results)))
        })
        connection.end(function (error) {
            if (error) throw error
        });
    })
}

const read = async()=>{
    let query ='.......'
    return await connectFunction(query)
}

const root = {
    users: () => read()
}
froce iT邦大師 1 級 ‧ 2022-12-16 09:30:35 檢舉
1. 像下面說的web api 方式,傳JSON到前端
2. 用HTML template engine。Node常用的應該是EJS
https://medium.com/web-design-zone/ejs%E6%A8%A3%E6%9D%BF%E5%BC%95%E6%93%8E%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F-40873ea2dfae
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
johncoc
iT邦新手 3 級 ‧ 2022-12-15 17:10:10
最佳解答

可以用 API 傳輸資料與接收資料
Node.js 開 API (GET、POST、DELETE)

我要發表回答

立即登入回答