async/await 接收 Promise 对象

async到底起什么作用?

async是让方法变成异步,这个很好理解,关键是他的返回值是什么?我们得到后如何处理?

await在等什么?

await一般在等待async方法执行完毕,但是其实await等待的只是一个表达式,这个表达式在官方文档里说的是Promise对象,可是它也可以接受普通值。


<!doctype html>

<html>
<head>
<meta charset="utf-8">
<title>Promise</title>
</head>


<body>
</body>
</html>
<script>
"use strict"


var sleep = function (time) {
return new Promise(function (resolve, reject) {
setTimeout(function () {
// 返回 ‘ok’
resolve('ok');
}, time);
})
};
var start = async function () {
let result = await sleep(3000);
console.log("result"); // result  3秒后‘ok’ 证明并没有阻塞
};
start();
</script>

猜你喜欢

转载自blog.csdn.net/xiaohanzhu000/article/details/80868216