How does JavaScript execute Promises async when JS is single threaded? I know how to use Promises, but it is still unclear to me how it works behind the scene.
            Asked
            
        
        
            Active
            
        
            Viewed 781 times
        
    3
            
            
        - 
                    in simple terms, the callbacks for each outcome are stored in an array. when the deferred is resolved on some event, the callbacks are executed. – Kevin B May 22 '14 at 17:42
- 
                    the same way setTimeout works.the execution is just deferred,doesnt need another thread to defer something.wether there is IO or not , a promise resolution or failure must be deferred,or it's not a promise. – mpm May 22 '14 at 17:43
- 
                    3see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/EventLoop – SimpleJ May 22 '14 at 17:44
- 
                    asynchronous != multithreaded – Bergi May 22 '14 at 18:12
1 Answers
2
            
            
        Promises are just a callback queue assigned to a lookup. Once you resolve the promise, it iterates over all callbacks which have been assigned via then or done.
 
    
    
        AlienWebguy
        
- 76,997
- 17
- 122
- 145
- 
                    1A [littlebit *more* than callbacks](http://stackoverflow.com/a/22562045/1048572), but yes - with the same limitations. – Bergi May 27 '14 at 10:53
