美文网首页
ES6的异步操作

ES6的异步操作

作者: Maiiiiiiiiiiiid | 来源:发表于2019-05-04 09:01 被阅读0次

异步操作

[TOC]


Promise

let p = new Promise(function (resolve,reject) 
{
    $.ajax
    ({
        url:"arr.txt",
        success(arr){
            resolve(arr)
        },
        error(res){
            reject(res);
        }
    })
});
//第一个函数是resolve,第二个函数是reject
p.then(function (arr)
{
    alert("成功");
    console.log(arr);
},function (res) {
    alert("失败");
    console.log(res);
})

实际上jquery$.ajax返回的也是一个Promise

$.ajax({
    url: 'arr.txt',
    dataType: 'json',
}).then(arr=>{
    alert(arr);
},res=>alert(res))

批量读取:

Promise.all([
    $.ajax({url: 'arr.txt',dataType: 'json'}),
    $.ajax({url: 'arr2.txt',dataType: 'json'}),
    $.ajax({url: 'json.json',dataType: 'json'}),
]).then(arr=>{
    console.log(...arr[0]);
    console.log(...arr[1]);
    console.log(arr[2].name,arr[2].age,arr[2].sex);
}, res=>{
    alert("失败");
})
//输出
5 56 89 13 6 56
21 1 457 99 89
22 maid 20 男

async/awite

使用同步写法执行异步操作

async能让函数暂停
await在该语句后面等待

async function show() {
    let a = 5;
    let b = 6;
    let data = await $.ajax({url:'arr.txt',dataType:'json'});
    alert(a+b+data[0]);  //16
}
show();

这种语法想要报错就使用try catch

实际上:

function show() {
    let a = 5;
    let b = 6;
    let data = $.ajax({url:'arr.txt',dataType:'json'}).then(arr=>{alert(a+b+arr[0])});//16
}
show();

相关文章

  • Promise介绍及jQuery deferred详解

    Promise介绍 Promise 是 JavaScript 的异步操作解决方案,是ES6提出的异步操作解决方案之...

  • JS异步操作(Promise,async,await)详解

    文章序 Promise,async,await都是ES6新增的用于处理异步操作/异步方法的关键字,建议在阅读本文前...

  • 理解ES6的异步方案Promise/Generator/asyn

    异步 不连续的执行,就叫做异步。相应地,连续的执行就叫做同步。 通常异步是处理一些耗时的操作。 回想在ES6没出现...

  • 12、【ES6】Promise

    Promise 是 ES6 引入的异步编程的新解决方案。语法上 Promise 是一个构造函数,用来封装异步操作并...

  • ES6——异步操作

    async 函数 ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 函数是什么?一...

  • ES6的异步操作

    异步操作 [TOC] Promise 实际上jquery的$.ajax返回的也是一个Promise 批量读取: a...

  • ES6(9)、Promise

    Promise 对象用于表示一个异步操作的最终完成 (或失败)及其结果值。 1、在ES6之前:利用回调函数解决异步...

  • promise讲解

    promise 简介 Promise是ES6加入标准的一种异步编程解决方案,通常用来表示一个异步操作的最终完成 (...

  • 异步处理——Promise,Generator,async

    持续更新中...... ES6 Promise Promise可以将异步操作以同步操作的流程表达出来,避免了层层嵌...

  • es6、es7异步

    Generator函数是ES6提供的一种异步编程解决方案ES7提供了async函数,使得异步操作变得更加方便 所谓...

网友评论

      本文标题:ES6的异步操作

      本文链接:https://www.haomeiwen.com/subject/lbotoqtx.html