美文网首页
await可能存在的问题

await可能存在的问题

作者: zxqian1991 | 来源:发表于2017-07-11 11:28 被阅读18次

node8 已经开始正式支持asyncawait的特性了,利用这两个特性写出来的代码,逻辑更加清晰了,看上去也更加优雅了。可是,却也会存在一定的问题:

Promise
话不多说,上代码

async function render(){
    return new Promise((resolve,reject)=>{
        setTimeout(()=>{
            console.log("end");
        })
    })
};
async function run(){
    console.log("before render");
    await render();
    console.log("after render");
};
run();

这个代码应该打印什么结果呢?
结果如下

before render
end

奇怪的问题产生了,after end哪里去了?

细心的同学可能已经发现,render函数中的Promise并没有执行resolve或者reject方法
这个时候,其实代码执行到console.log("end")的时候就已经结束了,而不会再向下执行,所以使用的时候要注意(在使用nuxt.render的时候,当加载静态文件的时候,后面的函数就都会丢失,不会执行,具体看这里)。

相关文章

  • await可能存在的问题

    node8 已经开始正式支持async和await的特性了,利用这两个特性写出来的代码,逻辑更加清晰了,看上去也更...

  • Swift 5.5 新特性

    Async/await 新旧方式的比较以前的方式: 现在的方式: 存在的问题是 Swift 5.5 Async/a...

  • 目前存在或者可能存在的问题

    明天考试,今天晚上简单总结一下。 语文分数从来都是玄学,我只可以保证作文分数和默写不出问题,然而能不能及格看客观题...

  • js循环中的异步

    for循环await、async这样就没问题foreach不支持await,asyncmap:

  • 理解async/await

    async/await:用同步的思维解决异步问题,等待await执行结果出来之后,才会继续向下执行 await 1...

  • 3.2KOA async/await 语法

    async/await 语法 作用 解决异步嵌套问题,传说中的终极解决方案 异步问题 async/await 实现...

  • WEB前端开发丨正确使用异步函数的姿势

    在编写异步函数时,await、return与return await之间存在差异,选择正确的处理方式非常重要。 让...

  • async await Promise

    深入理解 async await Promise Promise.all() 问题:await 一个 async ...

  • 主动寻找可能存在的问题

    生活中,人的思想容易滑坡,容易一段时间思维停止,然后一段时间不太愿意继续前行,原因是因为很多人都想提升,都渴望进步...

  • 10.5 async 及 await

    10.5 async 及 await问题一:async 及 await 的特点,它们的优点和缺点分别是什么?awa...

网友评论

      本文标题:await可能存在的问题

      本文链接:https://www.haomeiwen.com/subject/opgphxtx.html