收藏
回答

为什么wx.getStorageSync()获取值时是上一次存取的值,而不是本次的值?原因异步接口?


回答关注问题邀请回答
收藏

5 个回答

  • 做你的太阳ღ₅₂₀¹³¹⁴
    做你的太阳ღ₅₂₀¹³¹⁴
    2019-10-31

    你上面是异步拿到值然后同步存。下面内容同步取(每次都会先走)。然后第一次没有内容(因为没存上已经取了)。第二次取会拿到第一次存的(上次存上了,第二次没存上)。第三次取会拿到第二次存的(取到第二次存的,第三次没存上)。

    2019-10-31
    有用 3
    回复 15
    查看更多(10)
  • Butterfly。
    Butterfly。
    2019-10-31

    异步了 配合 async await 方可解决

    2019-10-31
    有用 1
    回复
  • M。
    M。
    2019-10-31

    selectAll()  这个方法是异步的吧

    2019-10-31
    有用 1
    回复
  • biu🤔
    biu🤔
    2019-10-31

    不太理解,截图Storage看看

    2019-10-31
    有用 1
    回复 1
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-10-31

    onLoad: async function() {

        await function(){

            return new Promise((rs, rj) => {

                var query = wx.createSelectorQuery()

                query.select('.test').boundingClientRect()

                query.exec(res=> {

                    wx.setStorageSync('a000', res)

                    rs(res)

                })

            })

        }()

        console.log(wx.getStorageSync('a000'))

    }

    2019-10-31
    有用
    回复 2
登录 后发表内容
问题标签