老师为啥我代码评论查询后 整个blog云函数都调用失败了?
来源:6-7 博客详情功能--云数据库多集合查询
weixin_慕仔6263612
2022-09-02
// pages/blog-comment/blog-comment.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
console.log(options);
this._getBlogDetail(options.blogid)
},
_getBlogDetail(blogId){
wx.showLoading({
title: '加载中',
mask:true
})
wx.cloud.callFunction({
name:'blog',
data:{
blogId,
$url:'detail',
}
}).then(res=>{
wx.hideLoading()
console.log(res);
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})
``
这是blogcomment.js
// 云函数入口文件
let MAX_LIMIT=100//每次查询评论条数
const cloud = require(‘wx-server-sdk’)
cloud.init({
env: ‘demo01-0gg83d2n28cedfac’//默认环境配置,传入字符串形式的环境 ID 可以指定所有服务的默认环境,传入对象可以分别指定各个服务的默认环境
})
const db =cloud.database()
const TcbRouter=require(‘tcb-router’)
const blogCollection=db.collection(‘blog’)
// 云函数入口函数
exports.main = async (event, context) => {
const app=new TcbRouter({
event
})
app.router(‘list’, async (ctx, next) => {
//模糊查询
const keywords=event.keywords
console.log(keywords);
let w={}
if(keywords.trim()!=’’){
w={
content:new db.RegExp({
regexp:keywords,
options:‘i’
})
}
}
// const keyword = event.keywords
// let w = {}
// if (keyword.trim() != ‘’) {
// w = {
// content: new db.RegExp({
// regexp: keyword,
// options: ‘i’
// })
// }
// }
let blogList = await blogCollection.where(w).skip(event.start).limit(event.count)
.orderBy(‘createTime’, ‘desc’).get().then((res) => {
return res.data
})
ctx.body = blogList
})
app.router(‘detail’,async(ctx,next=>{
let blogId=event.blogId
//博客详情查询
let detail= await blogCollection.where({
_id:blogId
}).get().then((res)=>{
res.data
})
// 评论查询
const countResult = await db.collection('blog-comment').count()
const total = countResult.total
let commentList = {
data: []
}
if (total > 0) {
const batchTimes = Math.ceil(total / MAX_LIMIT)
const tasks = []
for (let i = 0; i < batchTimes; i++) {
let promise = db.collection('blog-comment').skip(i * MAX_LIMIT)
.limit(MAX_LIMIT).where({
blogId
}).orderBy('createTime', 'desc').get()
tasks.push(promise)
}
if (tasks.length > 0) {
commentList = (await Promise.all(tasks)).reduce((acc, cur) => {
return {
data: acc.data.concat(cur.data)
}
})
}
}
ctx.body={
commentList,
detail
}
}))
return app.serve()
}```
这是云函数
屏蔽了 查询评论代码就行
1回答
-
谢成
2022-09-05
调用失败的话,可以查看下云函数的错误信息是什么,根据错误信息来确定问题。
00
相似问题