God said to Moses, “Go up to the land I swore to give Abraham, Isaac and Jacob. I will send an angel to drive out your enemies. But I will not drive them out in a single year, because the land would become desolate and wild animals would multiply and threaten you. I will drive them out a little at a time until your population has increased enough to take possession of the land (from Exodus 33:1; 23:29-30).”
God did what was best then. He does what is best now.
He has good reasons for waiting to answer prayer.