I believe it is, but strangely it doesn't work like that. I might made a mistake, but at the moment I can't see it. Can you configure and check it?
This is an example configuration. It moves forward when below block is same with the 1st slot, moves right when it is same with the 2nd. Normally it shouldn't move when it detects any block in front. But strangely, it doesn't see the block then moves to the right. That's why I thought it happens before moving is complete. It might be synchronous, but I'm not sure about does it wait for the movement to finish. EDIT
Okay, I got it fixed.