我有以下课程。
class User
{
constructor( username )
{
this._username = username;
}
get username()
{
return this._username;
}
}
当我实例化一个用户对象并通过网络发送它时,它说myUserObject.username
当我尝试在接收端访问它时它是未定义的,但myUserObject._username
确实包含我在发送者中设置的值。我正在使用基于 zeromq 和 messagepack 的 zerorpc。有什么我可以添加或做不同的事情来完成这项工作吗?普通类函数也会出现此问题。现在,我的临时解决方案是通过将有缺陷的对象传入构造函数并重新分配字段来在接收端重新创建对象。
发件人:
import User from './User.js'
const client = new zerorpc.Client();
//code for client to connect
function createUser()
{
let user = new User( "kacy" );
console.log( user.username ); //kacy
client.invoke( 'createUser', user, someCallback );
}
接收者:
import User from './User.js'
createUser( user )
{
console.log( user._username ); //kacy
console.log( user.username ); //undefined
let user2 = new User( user._username );
console.log( user2.username ); //kacy
}