在开发微信小程序的时候,出现了诡异的现象
参考代码如下:
//在函数外部声明两个变量
var userName,portrait;
wx.getUserInfo({
success: function (res) {
var userInfo=res.userInfo;
//变量可以正常传递到wx.getUserInfo函数中被赋值
userName=userInfo.nickName;
portrait=userInfo.avatarUrl;
}
});
this.database.collection("Comment").add({
data: {
//问题点:编辑器提示变量尚未初始化
userName: userName,
portrait: portrait
}
});
已经将问题点在代码中用注释标识出来,
编辑器提示Variable might not have been initialized,
为什么在回调函数中对变量赋值无效?如何解决?
在success回调的时候,就调用保存函数