今天在使用uniui的alertDialog时,想添加一个确定/取消的警告框时
发现alertDialog和下面的处理同步进行了,没有等待alaertDialog处理完才进行
查询后发现问题在于 await
关键字虽然被用来等待 alertDialog.value.open()
的完成,但是 alertDialog.value.open()
方法可能并没有返回一个 Promise,或者即使它返回了一个 Promise,这个 Promise 可能是在对话框关闭而不是打开时才 resolve。因此,removeUserData
函数中的其他逻辑在对话框打开的同时就继续执行了。
所以需要设置一个confirmed来接收alertDialog.value.open()的返回值
这样处理即可