3.8.3 单决议

本篇文章主要记录学习心得,给自己看的就随便写写,粘贴一下代码,如果有小伙伴好奇如何访问本地服务器获取数据,可以给我留言,看到了都会回复,以后有时间可能会另外写一篇如何获取本地数据的博客

关于这个小节,书中有段例子如下

    var p = new Promise(function (resolve, reject) {
      click('#mybtn', resolve);
    });
    p.then(function (evt) {
      var btnID = evt.currentTarget.id;
      return request('http://some.url.1/?id=' + btnID);
    }).then(function (text) {
      console.log(text);
    });

并没有给出完整代码,在这里改写一下,通过请求我本地服务器,获取返回数据

例子1、单决议特性,这样绑定,按钮只可以点击一次

    // click(..)把"click"事件绑定到一个DOM元素
    // request(..)是前面定义的支持Promise的Ajax
    function click(id, state) {
      const btn = document.getElementById(id);
      btn.addEventListener(
        'click',
        (evt) => {
          return state(evt);
        },
        false
      );
    }
    var p = new Promise(function (resolve, reject) {
      click('mybtn', resolve);
    });
    p.then(function (evt) {
      var btnID = evt.currentTarget.id;
      return axios.get(`${baseUrl}/test?btnId=${btnID}`);
    }).then(function (res) {
      console.log(res.data);
    });

例子2、通过改写,可多次点击按钮,但是现实中一般不会用到,所以书中只用于教学

 function click(id, fun) {
      const btn = document.getElementById(id);
      btn.addEventListener(
        'click',
        (evt) => {
          fun(evt);
        },
        false
      );
    }
    var p = new Promise(function (resolve, reject) {
      click('mybtn', function (evt) {
        var btnID = evt.currentTarget.id;
        axios
          .get(`${baseUrl}/test?btnId=${btnID}`)
          .then(function (res) {
            console.log(res.data);
          });
      });
    });

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值