ES5中使用回调函数
function fn(callBack) {
// 回调函数
console.log("先执行A");
setTimeout(function () {
callBack && callBack();//callBack存在并且callBack执行
}, 1000);
}
fn(function () {
// 一个方法当作参数传递个另一个函数
console.log("在执行B");
});
ES6中使用promise
function fn() {
// 回调函数
console.log("66");
return new Promise(function (resolve, reason) {
setTimeout(function () {
resolve();//1s后执行
}, 1000);
})
}
fn().then(function () { console.log(77) })//函数fn()运行完后返回了Promise的实例
多次使用
function fn() {
// 回调函数
console.log(666);
return new Promise(function (resolve, reason) {
resolve();
})
}
fn().then(function () {
console.log(777);
return new Promise(function (resolve, reason) {
// body
resolve();
})
}).then(function () {
// body
console.log(888)
})