fix rapidly pop item might cause assigning wrong order to poped out todo