Using rtde , can't get real-time tcp pose

anyone solve this :
when i moveL on async mode. and during moving i get tcp pose. but they are all in same.
RTDEControlInterface rtde_control(“172.22.22.2”);
RTDEReceiveInterface rtde_receive(“172.22.22.2”);
std::vector init_q = rtde_receive.getActualQ();
auto init_q2 = init_q;
init_q2[1] += 0.2;
rtde_control.moveL(init_q2, 0.01, 0.05, true);
int n = 10;
while (n)
{
std::vector tcp = rtde_receive.getActualTCPPose();
std::cout << n << " \t " << tcp[0] << “\t” << tcp[1] << “\t” << tcp[2] << “\t” << tcp[3] << std::endl; // output is same
std::this_thread::sleep_for(std::chrono::milliseconds(10));
n–;
}
return 0;