看输出顺序
< script>
function sleep ( ms) {
return new Promise ( function ( resolve, reject) {
console. log ( "1" )
setTimeout ( resolve, ms) ;
} )
}
async function handle ( ) {
console. log ( "2" )
await sleep ( 5000 )
console. log ( "3" )
}
handle ( ) ;
console. log ( "4" )
< / script>
看状态
function sleep ( ms) {
let a = new Promise ( function ( resolve, reject) {
setTimeout ( resolve, ms) ;
} ) ;
console. log ( a) ;
return a
}
sleep ( 50000 ) . then ( ( ) => console. log ( "finished" ) ) ;
捋捋
< script>
const p1 = new Promise ( ( _, reject) => {
setTimeout ( ( ) => reject ( 'error' ) , 3000 ) ;
} ) ;
const p2 = new Promise ( ( resolve, reject) => {
setTimeout ( ( ) => { console. log ( '1000' ) , resolve ( p1) , reject ( 'p2' ) } , 1000 ) ;
} ) ;
setTimeout ( ( ) => { console. log ( p2 ) ; } , 1500 ) ;
p2. then (
result => console. log ( result) ,
error => {
console. log ( p2) ;
console. log ( error)
}
) ;
< / script>