异步箭头功能的语法

2020/09/24 16:21 · javascript ·  · 0评论

我可以使用async关键字将javascript函数标记为“异步”(即返回承诺)像这样:

async function foo() {
  // do something
}

箭头功能的等效语法是什么?

异步箭头函数如下所示:

const foo = async () => {
  // do something
}

传递给它单个参数的异步箭头函数如下所示

const foo = async evt => {
  // do something with evt
}

对于传递给它的多个参数,异步箭头函数如下所示

const foo = async (evt, callback) => {
  // do something with evt
  // return response with callback
}

匿名形式的作品,以及:

const foo = async function() {
  // do something
}

异步函数声明如下所示:

async function foo() {
  // do something
}

回调中使用异步函数

const foo = event.onCall(async () => {
  // do something
})

分配一个简单的方法async箭头函数表达式命名变量:

const foo = async () => {
  // do something
}

(请注意,这并不严格等同于async function foo() { }。除了关键字和箭头表达式之间的区别function之外,此答案中的函数没有“提升到顶部”。)

立即调用异步箭头功能:

(async () => {
    console.log(await asyncFunction());
})();

立即调用异步函数表达式:

(async function () {
    console.log(await asyncFunction());
})();

带参数的异步箭头函数语法

const myFunction = async (a, b, c) => {
   // Code here
}

基本范例

folder = async () => {
    let fold = await getFold();
    //await localStorage.save('folder');
    return fold;
  };

您也可以这样做:

 YourAsyncFunctionName = async (value) => {

    /* Code goes here */

}

我的异步功能

const getAllRedis = async (key) => {
  let obj = [];

  await client.hgetall(key, (err, object) => {
    console.log(object);
    _.map(object, (ob)=>{
      obj.push(JSON.parse(ob));
    })
    return obj;
    // res.send(obj);
});
}
本文地址:http://javascript.askforanswer.com/yibujiantougongnengdeyufa.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!