﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
13546	Incorporate promises framework into CKEditor.	Steve James		"One of the aspects of CKEditor that gives me regular headaches is that while the editor obviously needs to do many of its internal tasks asynchronously, the callback interface for determining when CKEditor is ""done"" sometimes does not work exactly as expected.  I end up putting a bunch of setTimeOuts in place to manage your code execution in addition to your established callbacks.  Performance and best approach varies by browser and by device.  Recently, I took a look at your code and was surprised to find 101 setTimeOuts (some of those non-zero durations are obviously guesses), but very little in the way of a promises/deferred framework, which is what I was hoping to find.

Obviously, you need some of the setTimeOuts to deal with the async nature of what you are doing, and even promises are essentially using setTimeOuts.  However, how about considering ""baking in"" some sort of promises/deferred framework in the future as a better performing approach and giving us a better interface to running async editor tasks as a side-benefit?  You could do this with a basic promises plugin (or build it into the core) that the jQuery adapter could override to make the editor use the jQuery promises implementation.  (I realize that jQuery's promises implementation is deemed flawed by some, but if jQuery is in use, why not just use their framework.)

Also, as you are adding more functionality that would benefit from using a robust promises framework (e.g., the new file uploads functionality), I think it would be worth having a serious look at this."	New Feature	closed	Normal		Performance	4.6.0	wontfix	promises framework	
