如何在对象中添加带有string方法的getter



我有一个名为headers的对象。在里面我想添加一些头与一些随机值,如:

configs = {
header : {
'x-some-id': Math.random().toString()
}
} 

config参数用于发送http请求的客户端。随机id是由负载均衡器生成的id。所以每个请求都是不同的。我们不想为每个客户端创建一个新的客户端,因此我想在header中使用getter函数,以便每次发出请求时,header都会自动填充一个新的id。我如何使用getter实现这一点。理想情况下,这就是我想要达到的效果:

configs = {
header : {
'x-some-id': get() { return Math.random().toString()}
}
} 

getter的语法为

configs = {
header: {
get 'x-some-id'() { return Math.random().toString(); },
},
};

不确定这是否是你想要的,但你可以使用Proxy

const configs = {
header: new Proxy({
}, {
get() {
return (Math.random() * 1000000 | 0).toString()
}
})
}
console.log(configs.header['x-some-id'])

最新更新