菜单
  

    1. 概念async/await是es8的规范

    async 后面一般跟一个函数,也就是async一般跟在function前。

    await必须放在aysnc里面的函数体范围内

    await后面应该跟一个promise对象

    当使用了async/await后,程序流程就是:当执行到async/await程序时,进入async标识的函数体中,然后直到遇到了await,然后让await后面的代码执行(一般为一个异步操作,然后会返回一个promise对象),然后await能将右边promise的值返回给左边的变量。如 var bl=await promisObj; b1能够获取promise的值。同时如果async标识了的函数返回一个值的话,async函数左边的变量也能接收到其返回值,不过其返回值会是一个promise对象。

    要注意await只能在async中使用,不然是没有效果的。其实async 和await联合起来使用相当于替代了Promise的then和catch方法,将async后面的函数里面的代码由异步变成了同步阻塞式,只有当await定义的函数执行完了代码才会继续往下执行,同时await还有返回值。然后,reject的值需要通过try {}catch(err){}捕获,

    async函数中如果没有返回值,那么会返回一个undefined到promise对象的值中进行返回,不管如何,执行了异步等待后,最终的返回值就一定是一个promise对象,哪怕是值为undefined的promise对象

    现在最新版本的主流浏览器一般都支持fetch,promise,async/await,所以可以直接使用。

    2. 使用异步等待连续发起多次请求

    如果要使用async/await发起多次请求,那么需要在async标识的函数里面连续写多个await,并把请求的结果返回

    案例

    <body>

        用户名:<input type="text" value="admin">

        密码:<input type="password" value="12345">

        <button type="button">登陆</button><br>

        <p></p>

    </body>

    <script src="./jquery-3.3.1.js"></script>

    <script>

        $(function () {

            $('button').on('click', function () {

                let username = $('input:text').val()

                let password = $('input:password').val()

                let dataObj = {

                    username: username,

                    password: password

                }

                

                let fn = async function () {

                    // 第一次发起请求

                    let res = await $.post('http://127.0.0.1:8081/login',dataObj,function (data) {

                        if (data.msg == "yes") {

                            return data;

                        }

                    })

                    console.log(res)

                    let resObj=JSON.parse(res)

                    // 第二次发起请求

                    let username1=resObj.username;

                    if(username1='admin'){

  1. 上一篇:ArcGIS缓冲区分析如何进行ArcGIS缓冲区
  2. 下一篇:配对交易python策略源代码
  1. 多智能体系统一致性问题研究

  2. 上市公司债务税盾文献综述和参考文献

  3. PLC启闭机液压系统设计及其故障诊断

  4. 淮安乐天玛特连锁超市4P营销策略分析

  5. Bootstrap的OpenGL人体模型仿真

  6. 友谊质量调查问卷表

  7. 小学课堂教学效率国内外研究现状和参考文献

  8. MATLAB动车组列车牵引变流...

  9. PLC焊机电气控制系统设计开题报告

  10. 跨国企业全球营销策略的市场定位调查

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回