找回密码
 立即注册
搜索

开发问题 真诚像各位大佬求教异步操作问题

2
回复
1197
查看
[复制链接]

28

主题

38

帖子

330

积分

 楼主| 2020-10-14 18:29:06 显示全部楼层 |阅读模式
应用加载app.ux时候 我在app.ux中读取storage中数据,赋值一个公共参数,但是由于storage是异步的 导致在加载到下一个页面的时候 公共参数还没有值, 每次还要用个setInterval 一直循环读公共参数 等有值了 才能继续操作 让代码写的复杂没有可读性 请加各位大佬你们是怎么写的代码 能不能搞个同步操作,这个异步操作 让本来很简单的逻辑 却要多写很多行代码,还容易出问题
回复

使用道具 举报

2020-10-19 11:21:10 显示全部楼层
  1. import storage from '@system.storage'
  2. export default {
  3. async onget() {
  4. console.log("获取")
  5. let a = await this.get(21)
  6. console.log(a)
  7. },
  8. async onsave() {
  9. console.log("存储")
  10. let a = await this.set(21)
  11. console.log(a)
  12. },
  13. get(id) {
  14. return new Promise((resolve, reject) => {
  15. storage.get({
  16. key: 'adv_' + id,
  17. success: data => {
  18. console.log(data)
  19. resolve(data);
  20. },
  21. fail: err => {
  22. resolve(err);
  23. }
  24. });
  25. });
  26. },
  27. set(id) {
  28. return new Promise((resolve, reject) => {
  29. storage.set({
  30. key: 'adv_' + id,
  31. value: id,
  32. success: (res) => {
  33. console.log(res)
  34. resolve('set success')
  35. },
  36. fail: (err) => {
  37. resolve('set failed')
  38. }
  39. })
  40. })
  41. },
  42. }
复制代码
https://doc.quickapp.cn/tutorial ... -async.html?h=async
回复

使用道具 举报

9

主题

21

帖子

150

积分

2021-5-12 16:42:19 显示全部楼层
但是在app.ux的文件中onCreate中同步获取到的数据,但是在首页中还是获取不到。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册