javascript es6 Promise 异步同步的写法(史上最简单的教程了)详解编程语言

1 来个简单的例子

var p = new Promise(function(resolve, reject){ 
//做一些异步操作 
setTimeout(function(){ 
console.log('2秒后执行完成Promise'); 
}, 2000); 
}); 
var p = new Promise(function(resolve, reject){ 
//做一些异步操作 
setTimeout(function(){ 
console.log('1秒后执行完成Promise'); 
}, 1000); 
});

运行结果如下 可以看到2个是异步执行的

javascript es6 Promise 异步同步的写法(史上最简单的教程了)详解编程语言

 2 关于resolve用法(异步操作成功调用)

var p1 = new Promise(function(resolve, reject){ 
        //做一些异步操作 
        setTimeout(function(){ 
            console.log('执行完成Promise'); 
            resolve('要返回的数据可以任何数据例如接口返回数据'); 
        }, 2000); 
    }); 
p1.then(function(data){console.log(data)});

异步操作成功后会触发 resolve函数 里面传入的参数 会到then的回调函数里

javascript es6 Promise 异步同步的写法(史上最简单的教程了)详解编程语言

 reject写法我就不说了 感觉用处不大 resolve够用了

 

 3 异步中的同步的写法await

function doubleAfter2seconds(num) { 
    return new Promise((resolve, reject) => { 
        setTimeout(() => { 
            resolve('2秒后触发'); 
        }, 2000); 
    } ) 
} 
function doubleAfter1seconds(num) { 
    return new Promise((resolve, reject) => { 
        setTimeout(() => { 
            resolve('1秒后触发') 
        }, 1000); 
    } ) 
} 
 var result = await doubleAfter2seconds(30); 
 console.log(result); 
 var result = await doubleAfter1seconds(30); 
    console.log(result);

javascript es6 Promise 异步同步的写法(史上最简单的教程了)详解编程语言

 javascript es6 Promise 异步同步的写法(史上最简单的教程了)详解编程语言

 ps:要写在函数里

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/18786.html

(0)
上一篇 2021年7月19日 21:28
下一篇 2021年7月19日 21:28

相关推荐

发表回复

登录后才能评论