node项目本地服务器接口正常使用,部署到腾讯云后报错

 ###### 问题遇到的现象和发生背景
这是我一个node的接口,在我的本地服务器上可以正常返回数据,但是我部署到腾讯云的时候居然不能正常运行,我怀疑是我的pomise出了什么问题,这个循环居然停止了orData[0].forEach,求各位哥帮帮忙,今年九月才学的node,mysql靠百度,勿喷

 ###### 用代码块功能插入代码,请勿粘贴截图
getData: async (classify, uid ,offset) => {

 let p =   new Promise( async (resolve,reject)=>{
        let pageSize= 10  //每次十条数据
    
        let newclassify = classify === 'all' ? 0 : classify
        
        let sql = classify === 'all' ? `select * from 
                                                    wave_article  INNER JOIN wave_user 
                                                    ON wave_article.uid = wave_user.uid  
                                                    WHERE wave_article.state = 0
                                                    ORDER BY  wave_article.release_time DESC
                                                    limit ${offset},${pageSize}` :
                                        `select * from 
                                                    wave_article  INNER JOIN wave_user
                                                    ON wave_article.uid = wave_user.uid 
                                                     and
                                                      wave_article.classify='${newclassify}'
                                                      WHERE wave_article.state = 0
                                                      ORDER BY  wave_article.release_time DESC
                                                      limit ${offset},${pageSize}`
        let orData = await promisePool.query(sql)
        // console.log("第一次查询")
        // console.log("uid",query.uid)
        let followData = null //关注
        let fabulousData = null //点赞

        if (uid !== '0') {
            // console.log("uid不是空",uid)
            let id = uid === '0' ? '0' : uid
            let follow = await promisePool.query(`select nid from wave_follow where uid=${id} `)
            followData = follow[0]
            // console.log(followData)
            console.log("第二次次查询")

            let fabulous = await promisePool.query(`select cid from wave_article_fabulous where uid=${id}`)
            fabulousData= fabulous[0]
            // console.log(fabulousData)

            console.log("第三次次查询")

        }
        
      
            let datas = []
            let i =0
            orData[0].forEach(async (item) => {
                let obj = {}
                obj.cid = item.cid //文章id
                obj.comment_total = item.comment_total //评论数量
                obj.uid = item.uid //发布文章用户的id
                obj.title = item.title //文章标题
                obj.content = item.content //文章内容
                obj.username = item.username //发布文章的用户名字
                obj.lable = item.lable //用户标签
                obj.fabulous_total =  item.fabulous_total //文章被点赞总数
                if(item.fabulous_total>10000){
                    obj.fabulous_total = avg(item.fabulous_total ,10000) +'万'
                }
                obj.more = false //更多按钮的状态
                obj.times = sd.fromNow(item.release_time)  //对当前时间进行判断
                obj.istype = item.istype //判断类型
                obj.pic_list = [] //图片列表
                obj.videos = {    //视频
                    video_path: null,
                    video_pic: null,
                }
                //判断每个用户关注
                obj.isfollow = false
                //判断用户对文章点赞
                obj.isfabul = false

                //处理用户头像
                let  avatarUrl = item.avatar==="default_avatar.gif" ? `http://localhost:3000/images/${item.avatar}` : `http://localhost:3000/uploads/avatar/${item.avatar}`
                //加上用户头像
                obj.avatar = avatarUrl //发布文章的用户头像

                //判断当前文章的博主是否被该用户关注
                // followData查询的是当前登录用户的所有关注用户
                followData && followData.map(data=>{
                    if(data.nid===obj.uid) {

                      return  obj.isfollow = true
                    }
                })
                //判断当前文章是否被该用户点赞
                // followData查询的是当前登录用户的所有关注用户
                fabulousData && fabulousData.map(data=>{
                    if(data.cid===obj.cid) {

                      return  obj.isfabul = true
                    }
                })

                //判断类型 0无图片无视频 1有图片 2有视频
                if (item.istype === 0) {
                    datas.push(obj)
                    //  console.log(obj)
                } else if (item.istype === 1) {

                    // 处理图片
                    let piclist = item.pic_json.split('|')
                    // 裁去piclist数组最后一个空字符串
                    let newlist = piclist.slice(0, piclist.length - 1)

                    // 组合后的图片数组
                    let pic_list = []
                    newlist.map(item => {
                        //图片的详细参数,宽高等
                        imgsize = sizeOf(`public\\uploads\\article_pic\\${item}`)
                        let picobj = {}
                        picobj.pic = `http://localhost:3000/uploads/article_pic/${item}`
                        //  图片的宽高
                        picobj.width = imgsize.width
                        picobj.height = imgsize.height
                        if (imgsize.height / imgsize.width > 3) {
                            picobj.islong = true
                        } else {
                            picobj.islong = false
                        }
                        pic_list.push(picobj)
                        

                    })
                    obj.pic_list = pic_list
                    //处理完成

                    datas.push(obj)
                    //视频
                } else if (item.istype === 2) {
                    let vobj = {}
                    vobj.video_pic = `http://localhost:3000/uploads/article_video/${item.video_pic}`
                    vobj.video_path = `http://localhost:3000/uploads/article_video/${item.video_path}`
                    vobj.video_play_num = item.video_play_num
                    if(item.video_play_num>10000){
                        vobj.video_play_num = avg(item.video_play_num ,10000) +'万'
                    }
                    //生成时长的显示数
                    vobj.video_duration_str =  deTime(item.video_duration)
                    
                    obj.videos = vobj
                    datas.push(obj)

                } else {
                    console.log("/api/data接口未知错误")
                }
                i++
                console.log("i:",i,orData[0].length,datas.length)
                if (i === orData[0].length) {
                    console.log("全部成功——————————————————————————————————————")
                    // console.log(datas)
                    resolve(datas)
                    
                }

            })

    })
    let list = []
   await p.then(res=>{
        console.log("——————————————————————————————————")
        // console.log(res)
        list = res
    })
    return list
},

 ###### 运行结果及报错内容
这是在本地服务器的打印结果能正常返回数据

img


这个部分是在服务日志的打印

img

前端

img

 ###### 我的解答思路和尝试过的方法

 ###### 我想要达到的结果
怎么样才能正常返回数据给前端

两个问题检查 当前服务器能否正常访问 mysql
你的云服务器公网IP端口是否正常开放

no data found for resource with given identifier
找不到具有给定标识符的资源的数据
排查一: 在服务器上直接用curl 多次访问
排查二:本地利用postman工具访问
排查三:接口代理的nginx设置是否有问题

node项目部署到腾讯云
https://www.cnblogs.com/zhangran/p/12066787.html

是否是跨域的问题?服务器实际已响应并且返回数据,但是浏览器拒绝访问

先试试看你的mysql数据库能不能连上