美文网首页前端都会去了解的前端开发前端开发那些事
前端基础进阶(十三):透彻掌握Promise的使用,读这篇就够了

前端基础进阶(十三):透彻掌握Promise的使用,读这篇就够了

作者: 这波能反杀 | 来源:发表于2017-04-03 12:28 被阅读27571次

由于某些原因,文章已经删除,打算迁移到别处,目前正在寻找更合适的平台。

请大家关注我的新公众号ar_indus,随后我会在公众号里推送新的博客地址。

后续计划的《react进阶系列》文章也会在新公众号中推送。

公众号二维码

ar_indus

相关文章

网友评论

  • a2d7b36d630e:面试通常要你实现一个promise
    JackZhOOOOZ:@xian_d1f0 实现一个promise⁇⁇
  • a2d7b36d630e:呵呵, 有必要扩展到弹出框的应用中吗
  • f72ee604e8dc:你好, 请问下 原生ajax请求 在chorme中调试接口时, preview中都是乱码, jquery中要写上dataType: 'json' 那原生封装能做到相同的功能吗
  • 戴码:对于require js 一直有个疑问,实际开发里面,都是把config 单独作为一个文件给所有的页面引入。然而这样做那个 data-main属性 索引文件路径总是出问题,这方面的可以聊一下吗
  • 077fa51c09b2:工作一年多,一直做的是前端,可毕业出来,一直自己独立做项目,遇到会前端的都是半吊子的后台,可想而知,本人的学习过程有多曲折,无意间看到大神的文章,真的收获很大,真的是我的男神,希望大神能再接再厉,多撒干粮🙏🙏
  • da812b9613d3:跟着敲完了这些代码,受益匪浅,这个系列真的太好了,值得多看几遍
    这波能反杀:@御神木古井 :joy: :blush:
  • 寄日当归:我就来看看有没有程序员缺个女朋友的,这里有只大三喵~想要一个程序员男朋友(原因:电脑白痴!!!优点:可爱)
    寄日当归:@JackZhOOOOZ 好远。。还有你这个头像?!
    JackZhOOOOZ:@寄日当归 缺!😀😀😀坐标成都 你在哪儿?
  • color_小浣熊:当在函数中调用want && want ()这里直接写want() 不就可以了么? 为什么还要加上前面want && 呢?? 求解答。。
    羊烊羴:jq中常用写法,严谨判断,先判断want是否存在,然后执行
  • 5567c7396dc4:想问一下波同学有没有事件处理事件委托的好文章 求推荐
    这波能反杀:@Iaminjinan 谷歌搜索一下有很多好文章
  • 贪欢逐酒令:文章很用心,受教了,谢谢
  • ClassName:在第三大段 Promise中的数据传递里,then的链式调用,不论返回什么类型的值,在下一个then里的resolve函数都能执行,是bug吗?
  • d9186e9320cd:Dialog模块定义中函数的写法属于哪一种?
    Dialog.prototype直接就用了?没有看见定义Dialog???为啥求解答?初学者
  • 小乌龟变王八:我的大神,我又要开始膜拜你啦😋😋
    这波能反杀:@sunseekers :stuck_out_tongue_closed_eyes: 谢谢
  • 54b3943613cc:想咨询一下这个all 跟ajax的when 有什么区别?
  • 54b3943613cc:大写的佩服
  • f6ec60a94917:建议博主建一个交流群:sunglasses:
  • 5d91761e7b36:灰常感谢🙏🙏波大的文章,清晰易懂,从前端早读课转过来简述,一看无法收拾,准备逐篇看完!:+1: :kissing_heart:
  • 269b72736000:楼主你好,demo运行index.html时,貌似有时候加载button.js比jquery快,导致button.js里面的代码没有获取到$,报错,在button.js里面先require一下jq问题是解决了,但是疑问还存在:joy: ,为啥呢
    大月山:@eation 给button.js添加alias依赖jquery
  • CH563:看了很多遍,每看一遍都收获满满的
  • d6bb47cca45d:var fn = function(num) {
    return new Promise(function(resolve, reject) {
    if (typeof num == 'number') {
    resolve(num);
    } else {
    reject('TypeError');
    }
    })
    }

    fn(3).then(function(num) {
    console.log('first: ' + num);
    return num + 1;
    })
    .then(function(num) {
    console.log('second: ' + num);
    return 'b';
    })
    .then(function(num) {
    console.log('third: ' + num);
    return num + 1;
    });
    将其中一个改为字符,输出结果是:
    first: 3
    second: 4
    third: b
    这是为啥?
    诗和元芳: @不悔狮子 上一个return的值是作为下一个then的参数,所以自然输出的就是b了,又没做数据类型的判断
  • d6bb47cca45d:多个url请求时,怎么获取 Promise.race剩余的其它url数据,波神
    石宝宝:我觉得应该在你每一个请求发起的方法里面处理这部分逻辑,处理好之后再resolve。
  • 93aa29d75292:写得还行,对入门的来看是合适的,但是如果想深入理解Promise的话,应该想想为什么在promise构造函数中,resole("参数数据"),在then函数的第一个参数就能够接受到这个数据勒?其实promise更多的使用还是结合generator来使用的。。。。。
  • 5e08a663d7d3:感觉加上async和await一起会更好
  • 浩风起兮:then中第二个回调函数处理reject和catch处理reject有什么区别?波神me
    icessun:catch中出来reject回调不会阻断程序的执行
  • ac27ee066f07:基础类的写的真的比较透彻,佩服!但是promise不该用jquery来示例,而是用上fetch,async await一起讲会更贴近实际。模块化直接用es6的比较好,require.js都没啥人用了。还有想看webpack相关的。
  • e55325f42b29:楼主,你这种项目结构还有模块化适合大部分的项目吗?以前用jquery都是直接写,操作dom,填数据,虽然知道很不规范,但不知带怎么去改,看到你的文章学了很多,谢谢楼主了。
    e55325f42b29:@波同学 谢谢你的回答,期待你更多干货文章:smile:
    这波能反杀:@Benes 结合一些构建工具是可以直接这样用在开发中的,也算是一个比较合理的方式了,但是后续我会结合es6介绍更好的方式
  • d01d8d7404c0:Promise.all接收一个Promise对象组成的数组作为参数,当这个数组所有的Promise对象状态都变成resolved或者rejected的时候,它才会去调用then方法。

    这里应该是只要有一个promise对象状态变成rejected时候
    这波能反杀:@老王淫湿 感谢指正:+1:
  • chenpipy:支持支持,假期没心情看,上班了倒是更有学习的兴致:joy:
    这波能反杀:@三生石上绛珠草 :joy: 你们... ...
    三生石上绛珠草::joy: 同。。。然而上班还得偷偷看。。。
    0d456d7e936d:同道中人:joy:
  • Weldon_:不仅仅是应届生,就是工作一两年的,如果看懂你所有的文章,技术也会有质的提升
    赖择海:波大神,define定义模块的时候参赛为什么一定要加require这个参数,刚看了点require.js,对require.js不熟
    这波能反杀::scream: 你很有眼光,哈哈哈

本文标题:前端基础进阶(十三):透彻掌握Promise的使用,读这篇就够了

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