zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    php数组常用函数
    java中Property类的基本用法
    properties文件不能输入中文
    Eclipse中Outline里各种图标的含义
    Eclipse的工程名有红色的感叹号,工程里面没有显示编译错误
    路径问题
    yum -y install 和yum install 的区别
    Linux下源码安装jdk
    Linux下安装rz、sz命令(文件上传下载)
    scp命令详解—跨服务器复制文件
  • 原文地址:https://www.cnblogs.com/coding4/p/8685606.html
Copyright © 2011-2022 走看看