小程序调网易云api获取的数据里data是空值。

小程序调网易云api获取的数据里data是空值。
是哪里的问题导致data没有数据?请各位赐教!
我的是下面这样

img


有数据的是下面这样

img


详细内容

img


我的源码是

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
}) // 使用当前云环境
const db = cloud.database()
const axios = require('axios');
// const axios = require('axios/dist/node/axios.cjs');
// const axios = require('axios/dist/browser/axios.cjs');


const URL = 'https://mu-api.yuk0.com/personalized'

const playlistCollection = db.collection('playlist')
const MAX_LIMIT=100


// 云函数入口函数
exports.main = async (event, context) => {
  // const list =await playlistCollection.get()
  const countResult=await playlistCollection.count()
  const total = countResult.total
  const batchTimes = Math.ceil(total / MAX_LIMIT)
  const tasks = []
  for (let i = 0; i < batchTimes; i++) {
    let promise = playlistCollection.skip(i * MAX_LIMIT).limit(MAX_LIMIT).get()
    tasks.push(promise)
  }
  let list = {
    data: []
  }
  if (tasks.length > 0) {
    list = (await Promise.all(tasks)).reduce((acc, cur) => {
      return {
        data: acc.data.concat(cur.data)
      }
    })
  }



  const data = await axios.get(URL)
  console.log(data)
  if (data.code >= 1000) {
    console.log(data.msg)
    return 0
  }
  const playlist = data.result
  console.log(playlist)

  // const newData = []
  // for (let i = 0; i < playlist.length; i++) {
  //   let flag = true
  //   for (let j = 0; j < list.data.length; j++) {
  //     if (playlist[i].id === list.data[j].id) {
  //       flag = false
  //       break
  //     }
  //   }
  //   if (flag) {
  //     let pl = playlist[i]
  //     pl.createTime = db.serverDate()
  //     // newData.push(playlist[i])
  //     newData.push(pl)
  //   }
  // }
  // console.log(newData)
  
  // if (newData.length > 0) {
  //   await playlistCollection.add({
  //     data: [...newData]
  //   }).then((res) => {
  //     console.log('插入成功')
  //   }).catch((err) => {
  //     console.log(err)
  //     console.error('插入失败')
  //   })
  // }
  // return newData.length
}


【相关推荐】



  • 这篇博客: 为什么组件中的data必须是一个函数?中的 其实这不难理解,我们来画一下内存图 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    在这里插入图片描述
    当我们把超人改成戴安娜之后,他们三个都是同一个内存地址,所以内容全部都被改了
    在这里插入图片描述


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^