Question: Is there a function to keep draft before submitting a question?
If there is not, could you consider to implement it?

Answer: 
You can post your question and delete it right away. Then edit and undelete it later. 

Ultimately, it's best to simply use a Markdown editor on your computer and post the final result when you're done.
As long as you don't delete it, SE seems to do some sort of autosaving automatically. I had a unposted, nonsense post follow me across systems. If you want to ask *multiple* questions as drafts, you have an issue, but as long as you're logged in, your partially asked question will follow you around.