SOURCE

//1. 传统的回调方式
var successCallBack = function (result) {
    console.log("成功执行的结果是=" + result)
}
var failCallBack = function (result) {
    console.log("失败执行的结果是=" + result)
}
function asyncFunc(successCallBackFunc, failCallBackFunc) {
    var isSuccess = true;
    //使用setTimeout模拟异步行为
    setTimeout(function () {
        //根据返回结果设置isSuccess的值
        if (isSuccess) {
            successCallBackFunc("返回值1");
        } else {
            failCallBackFunc("返回值2");
        }
    }, 1000);
}
asyncFunc(successCallBack, failCallBack);


//2. 使用Promise的回调
function asyncFuncPromise() {
    return new Promise(function (resolve, reject) {
        //使用setTimeout模拟异步行为
        setTimeout(function () {
            resolve("返回值3");
        }, 1000);
    });
}
const promise = asyncFuncPromise();
promise.then(successCallBack);


//3. then catch
var p = new Promise(function (resolve, reject) {
    //使用setTimeout模拟异步行为
    setTimeout(function () {
        //resolve("返回值4");
        reject("返回值5");
    }, 1000);
}).then(successCallBack).catch(failCallBack);


//promise 链
p.then(function () { console.log("链1") }).then(function () { console.log("链2") });




//获取1-10秒的随机毫秒数
/*var randomMinSecs = Math.floor(Math.random() * 10+ 1)*1000;

//获取1-10秒的随机毫秒数
function getRandomMinSecs(){
    return  Math.floor(Math.random() * 10+ 1)*1000;
}
function mockAsyncTask(){
     setTimeout(function(){
         console.log("异步任务执行...")
     },1000);
}
mockAsyncTask();
*/

/*

console.log(randomMinSecs);


new Promise(function(resolve,reject){
        console.log("异步任务");
        resolve("调用执行成功");
}).then(function(result){
    console.log(result);
});*/




//
/*new Promise(function(resolve,reject){
    setTimeout(function(){
        console.log("异步任务");
        resolve("调用执行成功");
    },3000);
});*/



/*new Promise(function(resolve,reject){
    //使用setTimeout模拟异步行为
    setTimeout(function(){
        console.log("异步任务");
        resolve("调用执行成功消息");
    },3000);
}).then(function(result){
    console.log(result);
});

// catch 
new Promise(function(resolve,reject){
    //使用setTimeout模拟异步行为
    setTimeout(function(){
        reject("出错了");
    },3000);
}).then(function(result){
    console.log("成功:"+result);
}).catch(function(result){
    console.log("异常:"+result);
});*/
console 命令行工具 X clear

                    
>
console