PromiseClass https://stackoverflow.com/questions/35342457/promises-in-es6-classes http://www.oxxostudio.tw/articles/201706/javascript-promise-settimeout.html