云函数用不了问题

来源:3-11 歌单数据去重

qq_慕运维2505117

2022-12-07

老师为什么云函数一直转圈,只有本地调试能用
图片描述图片描述

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

cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})

const db = cloud.database()

const axios = require(‘axios’)

const playlistCollection = db.collection(‘playlist’)

const MAX_LIMIT = 100

// 云函数入口函数
exports.main = async (event, context) => {
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)
}
})
}

// 更新代码: axios发送请求,请求新的URL
const {
data
} = await axios.get(URL)
if (data.code >= 1000) {
console.log(data.msg)
return 0
}
const playlist = data.result

const newData = []
for (let i = 0, len1 = playlist.length; i < len1; i++) {
let flag = true
for (let j = 0, len2 = list.data.length; j < len2; j++) {
if (playlist[i].id === list.data[j].id) {
flag = false
break
}
}
if (flag) {
// 更新代码: 给每个歌单信息增加createTime属性
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
}

写回答

1回答

谢成

2022-12-08

本地调试运行结果成功的话说明代码是没问题。

一直转圈指的是哪里转圈,会不会是没有成功上传。可以换个网络环境重新上传试试。

0
4
每天一个八公里
老师,这个问题这么多人问,咋回事儿呢
2023-03-30
共4条回复

微信小程序云开发-从0打造云音乐全栈小程序

横跨小程序端、云后端、CMS一站式云开发的小程序全栈课程

1938 学习 · 2768 问题

查看课程