谨记:每次修改云函数后,都要重新上传并部署!!!
首先,初学者会遇到的问题是显示 console.err is not function,为什么,先别问为什么,直接把console.err改成console.error,然后再看问题,通常如我,因为每次修改云函数之后并没有上传并部署,所以再次编译,还是同样的问题,所以没有上传部署,你再怎么改,你的云函数都是运行你上一次上传的云函数,与现在编辑窗体上的代码无关,所以谨记,一旦改了云函数 ,就要上传并部署。
第二,改为console.error后,这个时候显示的警告一般没有,除非我多虑,多写了点,比如:
笔者在云函数的index.js里面把cloud.init()函数改为了如下:(这是在我之前除了改console.err之外不知道改啥的情况下改的这)
wx.cloud.init()
{
env:'-----------------------',
traceUser:true
}
即便这样改了,无济于事,反而会出问题,控制台会说wx is not definde等等,也就是说wx没有定义或者不是函数。但实际上这个函数可以不用改,直接用默认的cloud.init()就好了,所以我们对他还原。
然后,我们对于豆瓣电影列表的API接口,因为豆瓣那边点击量太多(访问次数)的原因,可能有时候会不让访问,但是一般这种情况较少,我列举了几个可以访问的地址(笔者亲测)。
案例1:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
var rp = require('request-promise');
// 云函数入口函数
exports.main = async (event, context) => {
return rp(`http://api.douban.com/v2/movie/in_theaters?apikey=0df993c66c0c636e29ecbb5344252a4a&start=0&count=10 `)
.then(function(res) {
console.log(res);//在调用云函数的时候也