各位大佬,请教下在使用weui serchchbar时,异步返回的数据无法使用
<mp-searchbar ext-class="serchbar" placeholder="输入企业简称" bindselectresult="selectResult" search="{{search}}" ></mp-searchbar>
search: function(v){
console.log('1.进入sarch函数')
wx.cloud.callFunction({
name: 'searchEnts',
data: {
text: v
}
}).then(res => {
console.log('2.res查询数据', res.result.data)
var a = JSON.stringify(res.result.data).replace(/name/g, "text").replace(/_id/g, "value");
var b = JSON.parse(a)
console.log('3.查询结果', b)
//在这里返回时,就会报错.then
// return new Promise((resolve, reject) => {
// resolve(reasult)
// // setTimeout(() => {
// // resolve(b)
// // }, 200)
// })
})
.catch(err => {
console.log('遇到错误', err)
})
//这里直接返回时,能正常显示
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve([{text: '结果1', value:1},{text: '结果2', value:2}])
}, 200)
})
console.log('4.结束')
},
以上代码执行时结果如图:
在.then中返回
希望看到的大佬,能指点下,多谢了!
callFunction 加个同步,获取完结果再return new Promise