手册
目录
收藏803
分享
阅读599
更新时间2025-08-07
函数前的关键字 async 使函数返回 promise:
async function myFunction() {
return "Hello";
}
等同于:
async function myFunction() {
return Promise.resolve("Hello");
}
以下是使用 Promise 的方法:
myFunction().then(
function(value) { /* 成功时的代码 */ },
function(error) { /* 出错时的代码 */ }
);
async function myFunction() {
return "Hello";
}
myFunction().then(
function(value) {myDisplayer(value);},
function(error) {myDisplayer(error);}
);
运行实例 »点击 "运行实例" 按钮查看在线实例
或者更简单,因为您期望正常值(正常响应,而不是错误):
async function myFunction() {
return "Hello";
}
myFunction().then(
function(value) {myDisplayer(value);}
);
运行实例 »点击 "运行实例" 按钮查看在线实例
函数前的关键字 await 使函数等待 promise:
let value = await promise;
await 关键字只能在 async 函数中使用。
让我们慢慢来学习如何使用它。
async function myDisplay() {
let myPromise = new Promise(function(myResolve, myReject) {
myResolve("I love You !!");
});
document.getElementById("demo").innerHTML = await myPromise;
}
myDisplay();
运行实例 »点击 "运行实例" 按钮查看在线实例
async function myDisplay() {
let myPromise = new Promise(function(myResolve, myReject) {
setTimeout(function() { myResolve("I love You !!"); }, 3000);
});
document.getElementById("demo").innerHTML = await myPromise;
}
myDisplay();
运行实例 »点击 "运行实例" 按钮查看在线实例
async function getFile() {
let myPromise = new Promise(function(myResolve, myReject) {
let req = new XMLHttpRequest();
req.open('GET', "mycar.html");
req.onload = function() {
if (req.status == 200) {myResolve(req.response);}
else {myResolve("File not Found");}
};
req.send();
});
document.getElementById("demo").innerHTML = await myPromise;
}
getFile();
运行实例 »点击 "运行实例" 按钮查看在线实例
ECMAScript 2017 引入了 JavaScript 关键字 async 和 await。
下表注明了首个完全支持两者的浏览器版本:
| Chrome | IE | Firefox | Safari | Opera |
|---|---|---|---|---|
| Chrome 55 | Edge 15 | Firefox 52 | Safari 11 | Opera 42 |
| 2016 年 12 月 | 2017 年 4 月 | 2017 年 3 月 | 2017 年 9 月 | 2016 年 12 月 |
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习