promise,async,await进阶

例子1:
Promise的基本使用
let p = new Promise((resolve) => {
resolve("hello world");
})

p.then((data) => {
console.log(data);
})
其中,then中的形参为resolve中导出的数据。
例子2
async的基本使用
async function fun() {
return 1;
}
fun.then((data) => {
console.log(data);
})
其中,async函数返回的是Promise对象,需要通过then方法输出其内容。
例子1和例子2的意义相同
例子3
async加await可以获得p中resolve的内容,简化了then方法的使用
let p1 = new Promise((resolve) => {
resolve(1)
});
let p2 = new Promise((resolve) => {
resolve(2)
});
async function fun() {
let a = await p1;
let b = await p2;
console.log(a);
console.log(b);
}

fun();
总结:执行顺序
同步任务(包括new Promise和async function中的直接输出的内容console.log())
process.nextTick
异步微任务(promise.then())
异步宏任务(计时器,读取文件,ajax)
setImmidate

全部评论

相关推荐

11-24 00:11
已编辑
广东工业大学 算法工程师
避雷深圳  yidao,试用期 6 个月。好嘛,试用期还没结束,就直接告诉你尽快找下一家吧,我谢谢您嘞
牛客75408465号:笑死,直属领导和 hr 口径都没统一,各自说了一些离谱的被裁理由,你们能不能认真一点呀,哈哈哈哈哈😅😅😅
点赞 评论 收藏
分享
10-05 23:02
东北大学 Java
我说句实话啊:那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务