JavaScript|Promise
Promise 是一个 ECMAScript 6 提供的类,目的是更加优雅地书写复杂的异步任务。
Promise 构造函数只有一个参数,是一个函数,这个函数在构造之后会直接被异步运行,所以我们称之为起始函数。起始函数包含两个参数 resolve 和 reject。
当 Promise 被构造时,起始函数会被异步执行,then()可以将当前函数添加到所属promise的异步执行序列表中:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Promise</title>
</head>
<body>
<script>
new Promise(
// Promise 构造函数只有一个参数,是一个函数,这个函数在构造之后会直接被异步运行,
// 所以我们称之为起始函数,起始函数包含两个参数 resolve 和 reject。
// 当 Promise 被构造时,起始函数会被异步执行
function (resolve, reject) {
setTimeout( function (){console.log("4秒");resolve();},4000 );
}
).then(
// then()可以将当前函数添加到该promise的异步执行序列表中
function () {
setTimeout( function (){console.log("6秒");},2000 );
}
).then(
function () {
setTimeout(function () {console.log("8秒");}, 2000);
}
);
new Promise(
// Promise 构造函数只有一个参数,是一个函数,这个函数在构造之后会直接被异步运行,
// 所以我们称之为起始函数,起始函数包含两个参数 resolve 和 reject。
// 当 Promise 被构造时,起始函数会被异步执行
function (resolve, reject) {
setTimeout( function (){console.log("3秒");resolve();},3000 );
}
).then(
function () {
setTimeout( function (){console.log("4.5秒");},1500 );
}
).then(
function () {
setTimeout(function () {console.log("9.5秒");}, 5000);
}
);
</script>
</body>
</html>