public async invokeRemoteMethod()

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;
    }