gpt4 book ai didi

node.js - 单例不在 Node 中保持奇偶校验

转载 作者:行者123 更新时间:2023-12-03 12:17:45 25 4
gpt4 key购买 nike

发生了一个非常非常特殊的问题:

当我启动我的 Node 应用程序时,我将我的访问 token 设置为一个模型实例,如下所示:

索引.js

    const token = new Tokens();
token.setTokens(access_token, refresh_token);
console.log(token.getTokens()) // WORKS

然后我在我的实例中的不同文件中调用 getter 函数。

RunSchedular.js

const tokens = Tokens.getInstance();
console.log('sched',tokens.getTokens()) //WORKS

API.js

export const POSTRequest = () => {
const currentTokens = Tokens.getInstance();
const refreshToken = currentTokens.getRefreshToken(); // DOES NOT WORK
const body = {
method: 'POST',
headers:
{
"Content-Type": "application/x-www-form-urlencoded",
"Cache-Control": "no-cache"
},
body: qs.stringify({
client_secret: clientSecret,
client_id: clientId,
refresh_token: refreshToken,
grant_type: 'refresh_token',
redirect_uri: redirectUri
})
};
return body;
}

我的模型是这样的:

let instance = null;
export default class Tokens {
constructor() {
if(!instance) {
instance = this;
}
this.accessToken = '';
this.refreshToken = '';
}

getAccessToken() {
return this.accessToken;
}

setAccessToken(value) {
this.accessToken = value;
}

getRefreshToken() {
return this.refreshToken;
}

setRefreshToken(value) {
this.refreshToken = value;
}

getTokens() {
return {
accessToken: this.accessToken,
refreshToken: this.refreshToken
}
}

setTokens(accessToken,refreshToken) {
this.accessToken = accessToken;
this.refreshToken = refreshToken;
}

static getInstance() {
console.log('instance', instance)
if(!instance) {
instance = new Tokens();
}
return instance;
}
};

知道为什么会发生这种情况吗? API.js 中的实例不返回我的访问 token (访问 token = '' 根据构造函数),而 schedular.js 和 index.js 返回我的访问 token 正常吗?

我的模型不正确吗?

最佳答案

如何导入 Tokens 模块?如果路径不同,将导入 2 个不同的模块。

例如:

import { Tokens } from 'src/singletons/Tokens';

将是一个不同的对象:

import { Tokens } from './../singletons/Tokens';

More information about singletons in javascript.

More information about module caching in NodeJS.

关于node.js - 单例不在 Node 中保持奇偶校验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65182263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com