当前位置: 首页 > news >正文

邢台专业网站建设价格哪些网站可以做公司制度

邢台专业网站建设价格,哪些网站可以做公司制度,英文网站注册,网站可分为哪两种类型定义 Promise是异步操作解决方案,为异步操作提供统一接口。 Promise英文意思是“承诺”,表示其他手段无法改变。 返回 所有异步任务都返回一个Promise实例。 Promise实例有一个then方法,用于指定下一步的回调函数。 状态 异步操作未完…

定义

Promise是异步操作解决方案,为异步操作提供统一接口。

Promise英文意思是“承诺”,表示其他手段无法改变。

返回

所有异步任务都返回一个Promise实例。

Promise实例有一个then方法,用于指定下一步的回调函数。

状态

异步操作未完成 pending(进行中)

异步操作成功 fulfilled(已完成)

异步操作失败 rejected(已失败)

  • 从“未完成”到“成功”
  • 从“未完成”到“失败”

优点

可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。

缺点

无法取消Promise,一旦新建它就会立即执行,无法中途取消。

如果不设置回调函数,Promise内部抛出的错误,不会反应到外部。

当处于pending状态是,无法得知目前进展到哪一阶段。

基本用法

ES6规定,Promise对象是一个构造函数,用来生成Promsise实例。

const promise = new Promise((resolve,reject) => {if (/* 异步操作成功 */) {resolve(value)} else {reject(error)}
})

resolve函数作用是,将Promise对象的状态从“未完成”变为“成功”----pending到resolved

Reject函数作用是,将Promise从“未完成”变成“失败”

—pending到rejected

Promise实例生成以后,可以用then方法分别指定resolved状态和rejected状态的回调函数。

function timeout(ms) {return new Promise((resolve, reject) => {setTimeout(resolve, ms, 'done');});
}timeout(100).then((value) => {console.log(value);
});

下面是异步加载图片的例子

function loadImageAsync(url) {return new Promise(function(resolve, reject) {const image = new Image();image.onload = function() {resolve(image);};image.onerror = function() {reject(new Error('Could not load image at ' + url));};image.src = url;});
}

Promise.prototype.then()

作用是为Promise实例添加状态改变时的回调函数。

返回: t hen方法返回一个新的Promise实例。

Promise.prototype.catch()

指定发生错误时的回调函数

getJSON('/posts.json').then(function(posts) {// ...
}).catch(function(error) {// 处理 getJSON 和 前一个回调函数运行时发生的错误console.log('发生错误!', error);
});

如果状态变为resolve则调用**then()**方法执行的回调函数;

如果异步操作抛出错误,状态就会变味rejected则会调用catch()方法指定的回调函数,处理这个错误。

Promise.prototype.finally()

指定不管Promise对象最后状态如何,都会执行的操作。

Promise.all()

定义

用于将多个Promise实例,包装成一个新的Promise实例。

const p = Promise.all([p1, p2, p3]);
特点
  1. p1p2p3都是 Promise 实例
  2. 如果不是,就会先调用下面讲到的Promise.resolve方法,将参数转为 Promise 实例,再进一步处理。

p的状态由p1 p2 p3决定

  1. 3种都变成fulfilled, === p变成fulfilled;
  2. 3种中有一个变成rejected,====p变成fulfilled

Promise.all()方法只适合所有异步操作都成功的情况,如果有一个操作失败,就无法满足要求。

Promise.race()

定义

将多个Promise实例,包装成一个新的Promise实例。

特点

p的状态

只要p1 p2 p3之中有一个实例率先改变状态,p的状态就跟着改变。

只要有一个 Promise 对象率先解决或拒绝,整个 Promise.race() 就会解决或拒绝。

Promise.allSettled()

定义

只有等到参数数组的所有 Promise 对象都发生状态变更(不管是fulfilled还是rejected),返回的 Promise 对象才会发生状态变更。

const promises = [fetch('/api-1'),fetch('/api-2'),fetch('/api-3'),
];await Promise.allSettled(promises);
removeLoadingIndicator();

上面示例中,数组promises包含的三个请求,只有等到三个请求都结束了,removeLoadingIndicator()才会执行。

== 用于获取多个Promise对象的最终状态和结果==

== 而 Promise.finally()用于在Promise最终解决或拒绝时执行一段逻辑 ==

Promise.any()

特点
  1. 只要参数实例一个变成fulfilled–成功状态,包装对象就会变成fulfilled—成功状态
  2. 如果所有参数实例都变成rejected状态,包装对象实例就会变成rejected状态

Promise.resolve()

定义

需要将现有对象转为Promise对象

Promise.reject()

http://www.yayakq.cn/news/672631/

相关文章:

  • 如何把自己做的网站放到内网理财p2p网站开发
  • 东莞网站建设制作免费咨洱源名师工作室网站建设
  • 深圳网站设计 建设科技有限公司汽车最全的网站
  • 一个网站余姚什么注册登录
  • 个人网站用什么开发如何在手机上制作动画
  • 做自媒体的有哪些素材网站深度开发
  • 南海佛山网站建设优化设计六年级下册数学答案
  • 网站后台排版做关于植物的网站
  • 可以做众筹的网站强军网网站建设
  • 宣传网站建设方案模板金融网站建设公司排名
  • 网上商城网站建设解决方案济南轻电商网站建设公司
  • 中国的门户网站有哪些办公室装修设计网站
  • 哪个网站做漫画可以有钱别人给公司做的网站字体侵权吗
  • 公司网站后台维护大宗商品交易平台有哪些
  • 做网站许昌制作网站品牌公司哪家好
  • 法国化妆品进口报关做网站盘锦网络推广
  • 网站上文章分享的代码怎么做网络营销是什么经营模式
  • 网站app怎么制作杭州网站关键词排名优化
  • 新网站怎么快速收录动漫谷网站建设策划书
  • cms网站建设技术广东哪家网站建设哪家公司好
  • 制作网站流程图中国纪检监察报多少钱一份
  • 珠海做网站报价公司网站建设必要性
  • 国土局网站建设情况苏州网站建设托管
  • 网站维护一般都是维护什么做网站头文件
  • wordpress homepage安卓优化大师旧版本下载
  • 静态网页模板免费下载的网站seo优化服务商
  • 摄影摄像网站建设大学生html网页设计个人博客模板
  • 专做畜牧招聘网站的ps网页版在线制作
  • 镇江做网站公司dyndns如何申请免费域名
  • 重庆手机版建站系统哪家好app设计报价