Promise中的async和await的运用
1.简单介绍什么是async和await
2.如何运用
async
async 是一个关键字,用于定义“异步函数”,放在function 关键字前,表示这是一个 有异步行为的函数。
// 这就表示 task 是一个异步函数啦
async function task(){
}
async 执行结果是一个Promise 实例
该实例的状态变化规则:
- 若 async 函数能够顺利执行完,状态变为 resolved 否则状态变为 rejected;
- 若状态变为resolved,接收到的数据看 return 返回值
- 若状态变为rejected,接收到的数据看 报错内容
await
await必须出现在async函数内,表示"等待" 等后面的代码执行完
需要注意以下几点:
- await 后须是 Promise 实例,否则,也会通过 Promise.resolve() 将后面的内容转为Promise实例
- 若 await 后的 Promise 实例转为成功状态,那么 await 前的变量的值就是该实例成功时传递的值
- 若 await 后面的 Promise 实例转为失败状态 那么整个 async 函数终止执行,并将失败的数据传递给 async 函数的 Promise 实例去处理
下面放码:
在下面代码前还需引用一个已经封装好的AJAX来发送请求
<script>
function sendAjax1() {
return new Promise(function(resolve, reject) {
QF.get("../php/a.php", {
username: 111}, function(data)