in src/XDM.ts [243:265]
public async invokeRemoteMethod<T>(methodName: string, instanceId: string, params?: any[], instanceContextData?: Object, serializationSettings?: ISerializationSettings): Promise<T> {
const message: IJsonRpcMessage = {
id: this.nextMessageId++,
methodName: methodName,
instanceId: instanceId,
instanceContext: instanceContextData,
params: <any[]>this._customSerializeObject(params, serializationSettings),
serializationSettings: serializationSettings
};
if (!this.targetOrigin) {
message.handshakeToken = this.handshakeToken;
}
const promise = new Promise<T>((resolve, reject) => {
this.promises[message.id] = { resolve, reject };
});
this._sendRpcMessage(message);
return promise;
}