Middle
Τι θα εμφανιστεί στην κονσόλα και γιατί;
sobes.tech AI
Απάντηση από AI
Η κονσόλα θα εμφανίσει με την ακόλουθη σειρά:
a
c
b
Εξήγηση:
a()— συγχρονική λειτουργία, εμφανίζει άμεσα 'a'.b()— καλείsetTimeoutμε καθυστέρηση 0, τοποθετεί το callback στην ουρά των macro-tasks, που θα εκτελεστεί μετά από όλες τις micro-tasks και το τρέχον stack.c()— δημιουργεί μια υπόσχεση που λύνεται άμεσα, και το.thenτης τοποθετεί στην ουρά των micro-tasks.
Ο κύκλος γεγονότων της JavaScript εκτελεί πρώτα όλες τις συγχρονικές λειτουργίες, μετά τις micro-tasks (promises), και τέλος τις macro-tasks (setTimeout). Γι' αυτό, η σειρά είναι πρώτα 'a', μετά 'c', και τέλος 'b'.