• async await与promise


    1.async 的返回值一定是一个promise。,即使你的函数里没有return.

    // 测试async的返回值
    async function testAsync() {
    }
    let result = testAsync();
    console.log(result);
    
    // 结果 Promise { undefined }
    

      

    2.因为有了await的限制,所以这里的async加不加都一样。

     3.

    // -----------
    // 一个函数前如果加async和没有加sync的区别
    function testSometing() {
     console.log("进入testSometing");
     return "执行testSometingreturn";
    }
    async function testAsync() {
     console.log("进入testAsync");
     return Promise.resolve("hello async");
    }
    async function test() {
      console.log("进入test")
      let aa = await testSometing();
      console.log(aa)
      let a1 = await testAsync();
      console.log(a1)
      console.log("离开test")
    }
    test()
    var promise = new Promise((resolve)=> {
      console.log("进入promise");
      resolve("执行promise回调");
    });//关键点2
    promise.then((val)=> console.log(val));
    console.log("进程结束")
    

      

    例子3 

    var fs = require('fs');
    async function asyncPrint() {
      await new Promise(function (resolve,reject) {
        fs.readFile('await1_attach1.js','utf8',function(err,data){console.log('1----',data)
        if(err){
            reject(err);
        }else{
            resolve(data);
        }})
      })
      await new Promise(function (resolve,reject) {
        fs.readFile('await1_attach1.js','utf8',function(err,data){console.log('2----',data)
        if(err){
            reject(err);
        }else{
            resolve(data);
        }})
      })
    
      console.log('3----')
    }
    asyncPrint().then(() => {
      console.log('4-----')
    }).then(() => {
      console.log('5-----')
    })
    View Code

  • 相关阅读:
    pormise的基本用法
    let 与 var 的区别
    字符串
    数组
    Redis 低级数据结构:一、介绍
    Curator使用:(七)分布式Barrier
    Curator使用:(六)分布式计数器
    Curator使用:(五)分布式锁
    Curator使用:(四)Master选举
    Curator使用:(三)事件监听
  • 原文地址:https://www.cnblogs.com/coding4/p/8685606.html
Copyright © 2020-2023  润新知