Solución corta y sencilla
IntuiciónAcercarsetú
Utilizar await en lugar de retorno no devuelve explícitamente una promesa, aunque internamente sí espera una. Por fin no es aconsejable.Com
# Intuition
<!-- Describe your first thoughts on how to solve this problem. -->

# Approach
<!-- Describe your approach to solving the problem. -->
Revisar la sintaxis de setTimeout ayuda al momento de resolver el problema.
Utilizar await en lugar de return no devuelve explícitamente una promesa, aunque internamente sí espera una. Por ende no es aconsejable.

# Complexity
- Time complexity:
<!-- Add your time complexity here, e.g. $$O(n)$$ -->

- Space complexity:
<!-- Add your space complexity here, e.g. $$O(n)$$ -->

# Code
```javascript []
/**
 * @param {number} millis
 * @return {Promise}
 */


async function sleep(millis) {
    return new Promise(resolve=>{
        setTimeout(() => resolve(), millis);
        
    });

}



/** 
 * let t = Date.now()
 * sleep(100).then(() => console.log(Date.now() - t)) // 100
 */
```
['JavaScript']