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

  • 相关阅读:
    算法-对分查找(二分查找)C++实现
    Android Studio简单设置
    一起talk C栗子吧(第八回:C语言实例--素数)
    Maven生命周期
    java8_api_日期时间
    UITableviewcell的性能问题
    iOS开发25个性能调优技巧
    iOS9新特性
    iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览
    iOS网络访问之使用AFNetworking
  • 原文地址:https://www.cnblogs.com/coding4/p/8685606.html
Copyright © 2011-2022 走看看