onLoad: function (options) {
console.log(this.getPhoneType())
},
getPhoneType(){
var result = ""
wx.getSystemInfo({
success(res) {
console.log(res)
result = res
}
})
return result;
},
打印结果图
钉钉小程序
onLoad: function (options) {
console.log(this.getPhoneType())
},
getPhoneType(){
var result = ""
dd.getSystemInfo({
success(res) {
console.log(res)
result = res
}
})
return result;
},
打印结果图
结果显示 钉钉封装api 拿不到异步返回值,所以想到promise
function getPhoneType() {
return new Promise(function(resolve, reject) {
dd.getSystemInfo({
success: (res) => {
console.log(res)
var phoneType = res.platform
resolve(phoneType)
}
})
})
}
getPhoneType().then((res)=>{
console.log(res)
})
延伸问题 :循环异步请求,得到最终结果
解决:async await
async function handlePersonList(personList) {
var list = [];
for(var i = 0; i < personList.length; i++) {
var personId = personList[i].personId
let res = await new Promise((resolve, reject) => {
dd.httpRequest({
url: urls,
method: 'get',
header: getApp().globalData.header,
success: function(res) {
if(res.data.errcode == 0) {
var data = res.data;
resolve(data)
}
},
fail: function(res) {
console.log(res)
reject(res)
}
})
})
list.push(res)
}
console.log(list)
return list
}
封装API返回值微信小程序onLoad: function (options) { console.log(this.getPhoneType()) }, getPhoneType(){ var result = "" wx.getSystemInfo({ success(res) { console.log(res) result = res } }) return result; },打印