美文网首页
2018-01-02 async 函数要点

2018-01-02 async 函数要点

作者: 拉面的无聊时光 | 来源:发表于2018-01-02 13:58 被阅读0次

async 函数

async 返回的是promise, await 后面应该是个promise,否则立即resolve

try catch 防止rejected

async function myFunction() {
try {
    await somethingThatReturnsAPromise();
} catch (err) {
    console.log(err);
}
}
// 另一种写法
async function myFunction() {
    await somethingThatReturnsAPromise()
    .catch(function (err) {
        console.log(err);
    };
}

并发与继发

async function asyncPrint(value,ms){
    let a = new Promise((resolve)=>{setTimeout(resolve,ms)});
    let b = new Promise((resolve)=>{setTimeout(resolve,ms)});
    await a;console.log(value+1111)
    await b;console.log(value+22222)

}
asyncPrint('dddd',3000)//并发执行
-----------------------------------------
async function asyncPrint(value,ms){
    await new Promise((resolve)=>{setTimeout(resolve,ms)});
    console.log(value+1111)
    await new Promise((resolve)=>{setTimeout(resolve,ms)});
    console.log(value+22222)

}
asyncPrint('dddd',3000)//继发执行
------------------------------------
function P(){
    return new Promise((resolve)=>{setTimeout(()=>resolve('dddd'),2000)})
}
let docs = [P(),P(),P()]
async function bingfa1(db){
    let result = await Promise.all(docs);
    console.log(result)
}
//Promise.all 并发执行 
------------------------------------
async function jifa(db){
    let result = [];
    for(var i of [0,1,2]){
        let val = await P();
        result.push(val)
    }
    console.log(result)
}
jifa()
//for of 继发执行推荐
------------------------------------
async function bingfa2(db){
    let result = [];
    docs.forEach(async function(){
        let a = await P();
        result.push(a)
        console.log(result)
    })
    console.log(result)
}
bingfa2()
//forEach 并发执行(不推荐)

相关文章

  • 2018-01-02 async 函数要点

    async 函数 try catch 防止rejected 并发与继发

  • async和await的使用

    async函数 什么是async函数? async函数是使用async关键字声明的函数。 mdn文档:https:...

  • JS中的async/await -- 异步隧道尽头的亮光

    async函数 简单解释async函数就是Generator函数的语法糖。 Generator函数写法 async...

  • 2018-05-22

    async 函数 1. 含义 async 函数是 Generator 函数的语法糖。async函数将Generat...

  • ES8(13)、await 和 async 的用法

    async函数是使用async关键字声明的函数。 async函数是AsyncFunction构造函数的实例, 并且...

  • async函数

    async函数 async函数的含义 简单来说:async 函数就是 Generator 函数的语法糖下面是两个是...

  • ES8-async&await

    async函数是使用async关键字声明的函数,async函数是AsyncFunction构造函数的实例,返回值是...

  • async 函数(转载)

    async 函数 含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便。 async 函数是...

  • ES7 Async/Await快速入门

    用法: 使用async 声明函数,在async函数内使用await async function xxx(){aw...

  • ES6——异步操作

    async 函数 ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 函数是什么?一...

网友评论

      本文标题:2018-01-02 async 函数要点

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