settimeout和promise哪个先执行