首页 / ES6 / ES6 Promise 对象
ES6 Promise 对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ES6 Promise 对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1564字,纯文字阅读大概需要3分钟。
内容图文

es6 Promise 对象是异步编程的一种解决方案。(再javascript世界里,是单线程顺序执行的)
从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。
Promise 异步操作有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。除了异步操作的结果,任何其他操作都无法改变这个状态。
Promise 对象只有:从 pending 变为 fulfilled 和从 pending 变为 rejected 的状态改变。只要处于 fulfilled 和 rejected ,状态就不会再变了即 resolved(已定型)。
我们先搞个异步实例来体验下;
// 执行成功调用resolve 执行失败调用reject let promise=new Promise((resolve,reject)=>{ console.log(‘promise初始化状态:pending‘) // 同步执行 setTimeout(()=>{ console.log(‘开启定时器,模拟异步操作‘) //resolve(‘异步返回,执行成功‘) // promise状态为 fulfilled reject(‘异步返回,执行失败‘) // promise状态为 rejected },1000) }) console.log(‘代码继续执行‘) promise .then((data)=>{ // 第一个回调 成功resolve console.log(data) },(data)=>{ // 第二个回调 失败reject console.log(data) } )
执行效果:
我们再看一个ajax请求用上Promise,代码看起来更规整
以前写ajax请求 用原生的,很凌乱,就算用jquery ajax 回调方法那块也是多层嵌套,写业务逻辑也是很凌乱;
Promise 可以解决这种凌乱问题,让异步请求更加规整;维护方便;
先搞个模拟json:
{ "ret": true, "data": { "studentList": [{ "id": "0001", "name": "Jack" },{ "id": "0002", "name": "Marry" },{ "id": "0003", "name": "Sunndy" },{ "id": "0004", "name": "Lini" }] } }
代码:
// 执行成功调用resolve 执行失败调用reject let promise=new Promise((resolve,reject)=>{ console.log(‘promise初始化状态:pending‘) // 同步执行 $.get(‘./data.json‘,{},function(result){ console.log(‘ajax异步操作‘); if(result.ret){ console.log(‘执行成功‘) resolve(result.data); }else{ console.log(‘执行失败‘) reject(result.data); } },‘json‘); }) console.log(‘代码继续执行‘) promise .then((data)=>{ // 第一个回调 成功resolve console.log(data) },(data)=>{ // 第二个回调 失败reject console.log(data) } )
原文:https://www.cnblogs.com/zsh-blogs/p/12967043.html
内容总结
以上是互联网集市为您收集整理的ES6 Promise 对象全部内容,希望文章能够帮你解决ES6 Promise 对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。