老师,请帮我看看有个数据可以打印出来,但this.setData的时候没有值

来源:4-4 音乐控制面板功能实现(1)

QQCC2

2020-02-19

图片描述
图片描述
图片描述

写回答

3回答

谢成

2020-02-21

从问题上看,说明你对js的异步还不是太理解。

wx.cloud.callFunction()是异步方法,就是需要一段时间才能完成,这个时候异步还没完成就执行了188行,所以188行在这时候没有数据是正常的。如果想看到数据,可以在AppData里看(这个课程中讲过)。


182行输出的是一个数组,需要的应该只是数据里的第一个值,所以应该是res.result.songs[0]

0
2
谢成
回复
QQCC2
建议先把异步了解清楚了。可以使用promise 或者 async/await
2020-02-22
共2条回复

QQCC2

提问者

2020-02-20

这个函数是点击具体歌名获取歌曲的详细信息。我发现一个问题,就是它的取值好像有延迟,我点击第二首歌的时候,才输出第一首信息;点的第三首才输出第二首信息

//img.mukewang.com/szimg/5e4e62eb09d84c3a13060544.jpg

0
0

谢成

2020-02-19

从打印信息上看,182行是取到了值,请把182行对象展开,看下是否有songs

0
2
谢成
回复
QQCC2
点开以后截图出来,别复制,会丢失很多线索
2020-02-20
共2条回复

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

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

1938 学习 · 2768 问题

查看课程