• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

小程序获取云数据库集合的数据并显示在页面

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

按理说没什么毛病,数据确实也从云函数传到js里了,但传不到页面吖

先贴个代码,解决了再来更新www

找到问题了!

Promise.all 方法会将多个 Promise 实例,包装成一个新的 Promise 实例

 

 上图是返回的数据,可以看出数据路径是返回集合名称.result.data,所以只要把js里

success: res => {
  console.log(res)
  this.setData({
    block: res.data
  })
}

改成

success: res => {
    console.log(res)
    this.setData({
        block: res.result.data
    })
},    

下面是原代码

云函数:

// 云函数入口文件
//npm install --save wx-server-sdk
const cloud = require('wx-server-sdk')
cloud.init({env:'start-tally-x3qms'})
const db = cloud.database()
const tally = db.collection('tally')

// 云函数入口函数
exports.main = async (event, context) => {
  console.log('yun')
  // 先取出集合记录总数
  const MAX_LIMIT = 100
  const countResult = await tally.count()
  const total = countResult.total
  // 计算需分几次取
  const batchTimes = Math.ceil(total / 100)
  // 承载所有读操作的 promise 的数组
  const tasks = []
  for (let i = 0; i < batchTimes; i++) {
    const promise = tally.skip(i * MAX_LIMIT).limit(MAX_LIMIT).get()
    tasks.push(promise)
  }
  // 等待所有
  return (await Promise.all(tasks)).reduce((acc, cur) => ({
    data: acc.data.concat(cur.data),
    errMsg: acc.errMsg,
  }))
}

js:

Component({
  data: {
    block:[]
  },
  methods: {
    onShow: function () {
      console.log('show')
      this.setTallyList()
    },

    setTallyList: function(){
      wx.cloud.callFunction({
        // 云函数名称
        name: 'tally',
        // 传给云函数的参数
        data: {},
        success: res => {
          console.log(res) // 3
          this.setData({
            block: res.data
          })
        },
        fail: console.error
      })
    },
  }
})

wxml:

<view class="block" wx:for="{{block}}" wx:for-item="block" data-id="{{block._id}}" bindtap="block" wx:key="block">
  <view class="block_main">
    <view class="block_left">
      <view class="block_icon">
      <icon type="success"></icon>
      </view>
      <view class="block_left2">
        <view class="block_left3">
           <view class="block_type">{{block.type}}</view>
          <view class="block_remark">{{block.remark}}</view>
        </view>
        <view class="block_date">{{block.date}}</view>
      </view>
    </view>
    <view class="block_right">
      <view class="block_expend_or_income">{{block.expend_or_income == 'INCOME' ? '+' : '-'}}</view>
      <view class="block_money">{{block.money}}</view>
    </view>
  </view>
  <view class="block_border"></view>
</view>

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap