首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序开始时的离子安全存储get()

应用程序开始时的离子安全存储get()
EN

Stack Overflow用户
提问于 2021-04-29 01:41:55
回答 1查看 215关注 0票数 0

在/src/main.ts中,我有一个获得验证Auth状态的令牌的服务:

代码语言:javascript
复制
if (TokenService.getAccessToken() !== undefined) {
...
}

token.service.ts

代码语言:javascript
复制
import storage from '@/plugins/storage'

const ACCESS_TOKEN_KEY = "access_token";

const TokenService = {
    getAccessToken(){
        storage.get(ACCESS_TOKEN_KEY).then(v => {
            return v
        })
    },
    async saveAccessToken(accessToken: string) {
        storage.set(ACCESS_TOKEN_KEY, accessToken);
    },
}

export { TokenService };

storage.ts:

代码语言:javascript
复制
import { Storage, Drivers } from '@ionic/storage'

const localStorage = new Storage()
localStorage.create()

const storage = {
    set: async(i: any, v: any) => {
        await localStorage.set(i, v)
    },
    get(i: any){
        return localStorage.get(i)
    },
    remove: async (i: any) => {
        await localStorage.remove(i);
    },
    clear: async () => {
        await localStorage.clear();
    }
}

export default storage

我只得到未定义的,但是当在storage.ts中使用console.log()时,我得到了值,但在应用程序启动之后。

我还使用这个函数在/router/index.ts中创建了一个条件,当我使用localStorage时,我很好地得到了这些值。

我的依赖关系:

代码语言:javascript
复制
    "@ionic-native/secure-storage": "^5.31.1",
    "@ionic/storage": "^3.0.4",
    "@ionic/vue": "^5.6.0-dev.202102221703.5300dcc",
    "@ionic/vue-router": "^5.6.0-dev.202102221703.5300dcc",
    "vue": "^3.0.0-0",
    "vue-router": "^4.0.0-0",
    "vuex": "^4.0.0-rc.2",

我能做什么?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-04-29 02:23:38

我在您的token.service.ts中发现了一个问题,您不会在:getAccessToken上返回任何内容

代码语言:javascript
复制
// async since is returning a promise
async getAccessToken(){
    // Returning the promise.
    return storage.get(ACCESS_TOKEN_KEY)
}

从外部使用它将如下所示:

代码语言:javascript
复制
// using await because we want the promise to be solved
if ((await TokenService.getAccessToken()) !== undefined) {
 ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67309966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档