美文网首页
笔记:promise,fetch/require,async/a

笔记:promise,fetch/require,async/a

作者: 南京1865 | 来源:发表于2018-05-26 14:21 被阅读0次

promise

1.简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。最大的好处,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。
2.有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)
3.只有两种可能:从pending变为fulfilled和从pending变为rejected
4.resolved可以将pending状态改成fulfilled状态
5.then有两个参数,可以理解为处理fulfilled与rejected这两个状态的回调函数,一般我们在第一个回调函数里用resolved(data)来返回给调用者
6.then方法返回的是一个新的promise对象,promise.then().then().then()这种写法是可以的
7.promise可以配合es7里的async使用,return一个resolve对象而不是一个promise对象
8.catch返回的也是一个promise对象,后面也可以跟着then

如果某些事件不断地反复发生,一般来说,使用 Stream 模式是比部署Promise更好的选择。

缺点
1.执行后无法取消
2.如果不设置回调函数,Promise内部抛出的错误,不会反应到外部
3.当处于pending状态时,无法得知目前进展到哪一个阶段

fetch/require

1.是browser对象里window对象的方法
2.下一代类似ajax的API,很好的实现了对xhr的封装
3.fetch(require).then().then().catch()的方式调用,在require里设置url,method,mode等
4.Get请求有参数的时候,跟在require的url后面
5.require可以设置表头请求时候带上cookie

async/await

1.async函数就是将 Generator 函数的星号(*)替换成async,将yield替换成await,仅此而已。

  1. Generator 函数需要执行器去一条条的执行,async函数自带执行器,可以跟普通函数一样,一行代码执行
    3.async函数返回的是 Promise 对象,可以作为await命令的参数
    4.正常情况下,await命令后面是一个 Promise 对象。如果不是,会被转成一个立即resolve的 Promise 对象

相关文章

  • 笔记:promise,fetch/require,async/a

    promise 1.简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,...

  • fetch 和 ajax 和 axios

    fetch: 基于promise,Promise,generator/yield,await/async 都是现在...

  • Promise,async,await笔记

    Promise,async,await笔记 Promise 创建promise对象 Promise对象构造方法传入...

  • es6的fetch异步请求

    使用fetch的优点语法简洁,更加语义化基于标准 Promise 实现,支持 async/await同构方便,使用...

  • fetch发送异步请求

    使用promise的方式 async/await 使用fetch发送其他类型(POST)的请求,并向数据接口提交数...

  • Vue(3)

    前后端交互 前后端交互模式 Promise用法 接口调用-fetch用法 接口调用-async/await用法 接...

  • 使用async await代替fetch的promise

    目标 使用async/await代替所有的fetch promise链式函数。并且为每一种HTTP method完...

  • JavaScript Async/Await

    笔记 What is Async/Await? Async/Await基于Promise, 并可以很好的与基于Pr...

  • async函数

    async 要理解 async 先要掌握 Promise 的概念,了解 Promise 请戳我! async 函数...

  • setTimeout 和 setInterval 结合使用

    var async = require('async'); var setTimeoutIds = functio...

网友评论

      本文标题:笔记:promise,fetch/require,async/a

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