sessionStorage 是不是有异步的问题?

sessionStorage 是不是有异步的问题? 怎么来处理

    export async function get(params: { id: string, is_active?: 'False' | 'True', gr_id?: string, type?: 'single' }) {
        const group_id = sessionStorage.getItem('gr_id')!;  // 这里有时拿不到 gr_id,  怎么处理
        params.gr_id = group_id, params.type = 'single'
        return request.get<any, API.Response<FormRp>>(url, { params })
    }

查看控制台 里面sessionStorage明明有 gr_id

  export async function get(params: { id: string, is_active?: 'False' | 'True', gr_id?: string, type?: 'single' }) {
        let group_id =  (() => { return sessionStorage.getItem('gr_id')!})()  // 这要写才有效,这是什么坑
        params.gr_id = group_id, params.type = 'single'
        return request.get<any, API.Response<FormRp>>(url, { params })
    }

sessionStorage是同步的,获取不到值只可能是设置值的地方是异步执行的,尚未setItem时就执行了getItem的代码

切记,单纯的sessionStorage赋值是同步的。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632