Apa perbedaan antara $ evalAsync dan $ timeout di AngularJS?

Saya telah menggunakan AngularJS untuk sementara waktu sekarang, dan telah menemukan kebutuhan untuk menggunakan $ timeout sesekali (Sepertinya biasanya untuk init plugin jQuery). Baru-baru ini, saya telah mencoba untuk mendapatkan pemahaman yang lebih baik dan lebih mendalam tentang siklus...