The promise constructor does not create separate threads or otherwise make an operation parallel.
Why does the Promise object block rendering?
Is the Promise constructor callback executed asynchronously?
What is the proper approach to fix this?
Use a WebWorker.