Skip to main content

JavaScript - new Promise resolve-reject, dbPromise, and callbacks

No fun learning es6 version of the javascript updates.

There is so much going on with "new Promise" or indexedDb version "dbPromise" that it's hard to grasp all the process happening around it. Especially the callbacks and/or returns with there own returns and callbacks.

It took me a while but now I feel like, I know enough to understand "es6" "promise" and "then" after completing the course.

The best way to understand how the "resolve and reject" work with "promise" is to work on a sample project or lab.

I was struggling with resolve and no reject, as it was confusing. Could not understand initially as to how the resolve will be returned but a reject will not trigger the failed scenario. Finally realized the sub method was not implemented with the reject logic and thus didn't return the error part of the callback.

It may be easier to understand now regarding promise with return and no returns, dbPromise with valid return and without valid return, callbacks of the callbacks, and the .then (dot then) with return value [ .then((result) => {}) ] vs then with variable initialized before dbPromise or new Promise [ .then(restaurant_id, (result) => {}) ], there is so much that if one doesn't understand the entire concept, it will be very hard to debug the solution.

Oh year, there is also promise version of try-catch with return false or catch with callback" of the methods. The only way all of these will be easier to understand is to have your own debug implementation. My simple console.log debug implementation, made it simple to understand how the code is being triggered and where the underlining issue is, saved me lot of hours.

I am happy to have completed the project and completed the Mobile Web Specialist Nanodegree from Udacity, sponsored by Grow with Google.


Popular posts from this blog

Completed UiPath - RPA Developer Advance Training

After a month of training, with late nights and weekends I have completed the UiPath RPA Developer Advance Training. The Level 1 Foundation Training pretty much covered all the basics of Desktop studio and workflows, only draw back was I started with the default foundation course which was for 2016, and all document reference links where pointing to 2016 version. I didn't understand it during the foundation training and kept switching to 2018 version document/page. Only after completing the Foundation course that I realized, I was suppose to have started with the 2018 version of Level 1 Foundation Training, but as it was optional I didn't have to retake the 2018 version, the 2016 was good enough for moving to level 2. The Level 2 Orchestrator 2018.3 Training as good. It gave good understanding of Queue's, Jobs, and schedules and I was able to complete the level two much faster then the level 1. The Level 3 UiPath Advanced Training was bit tough as it involved the a

KB 294807 - IIS Server - PHP FastCGI 500 Error 0xfffffffe

Resolved issue today of IIS Server - PHP FastCGI 500 Error 0xfffffffe by deleting "Windows Temp" folder files. We used Cygwin to customize some permissions of "Windows Temp" folder and after few hours the website stopped working. The search online was giving all kinds of different solution except what I was looking for. I was hoping the stackoverflow will have answers but even this post didn't cover the issue I was running into. Restarting the IIS didn't work, but deleting temp files cleared the issue, but now the problem is how long before the site will go down again? Hope the issue is resolved for ever, if not; I will update this post later.

QlikSense - Custom Form Login Screen

Extension of:  Custom login, logout and error forms for Qlik Sense by RPK QlikSense - Custom Login Screen Install Node on QlikSense Server: URL: Saved at: C:\server-tools\Downloads\Node Installed at: C:\server-tools\Runtime\nodejs\ Keep default options Create Folder: C:\QlikForm Clone git Repository and keep updates private: # Open Shell/Bash/Command Prompt cd /QlikForm # Ref: git clone --bare .git cd QS-Custom-Forms.git git push --mirror<name>/QS-Custom-Forms.git cd .. (go to parent folder) # remove other users repo clone rm -rf QS-Custom-Forms.git # clone witinc private repo git clone<name>/QS-Custom-Forms.git Get latest copy of login pages: # Open She