showmodal我想做一个同步操作,要怎么实现,功能是我点击按钮弹出一个警示框,是否继续下一步
showmodal我想做一个同步操作,要怎么实现,功能是我点击按钮弹出一个警示框,是否继续下一步,
uni.showModal({ title: '提示',
content: example+myweight,
cancelText : '返回修改',
confirmText : '确认',
success: res => {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
return cancelFlag = true
}
}
})
console.log(cancelFlag)
现在是cancelFlag undefined,原因是异步操作了,怎么样让这个功能变成同步呢
回答:
用 uni.showmadal
的话,做不到,要么用回调函数,要么用 Promise
。
可以考虑使用 window.confirm
,这个是同步的,但是正经项目估计没人想用。
回答:
方法定义:
async test () {return new Promise(
function (resolve, reject) {
// 一段耗时的异步操作
uni.showModal({
title: '提示',
content: example+myweight,
cancelText : '返回修改',
confirmText : '确认',
success: res => {
if (res.confirm) {
resolve(true) // 数据处理完成
} else if (res.cancel) {
console.log('用户点击取消');
resolve(false)
}
}
})
}
}
)
方法调用
async doShowModal () { const result = await this.test()
console.log(result)
}
以上是 showmodal我想做一个同步操作,要怎么实现,功能是我点击按钮弹出一个警示框,是否继续下一步 的全部内容, 来源链接: utcz.com/p/935387.html