请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
搜索

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

1
回复
38
查看
[复制链接]

5

主题

7

帖子

60

积分

 楼主| 7 天前 显示全部楼层 |阅读模式
应用加载app.ux时候  我在app.ux中读取storage中数据,赋值一个公共参数,但是由于storage是异步的  
导致在加载到下一个页面的时候  公共参数还没有值,
每次还要用个setInterval
一直循环读公共参数  等有值了  才能继续操作

让代码写的复杂没有可读性
请加各位大佬你们是怎么写的代码

能不能搞个同步操作,这个异步操作  让本来很简单的逻辑  却要多写很多行代码,还容易出问题
回复

使用道具 举报

前天 11:21 显示全部楼层
  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
回复

使用道具 举报

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