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

支付宝小程序开发工具seo全国最好的公司

支付宝小程序开发工具,seo全国最好的公司,网站首页 选择入口 设计,wordpress侧栏登录插入一下前端助手测试&#xff0c;顺手可以用来做安全 promise promise 是一个es6新增的语法 汉语&#xff1a;承诺的意思 作用:是专门用来解决回调地狱!!!! 什么是回调函数&#xff1f; <script>// 回调函数 callback回调// 就是把函数A当作参数传递到函数B中// 在函…

插入一下前端助手测试,顺手可以用来做安全

promise

promise 是一个es6新增的语法

汉语:承诺的意思 作用:是专门用来解决回调地狱!!!!

什么是回调函数?

 <script>// 回调函数  callback回调// 就是把函数A当作参数传递到函数B中// 在函数B中以形参的方式去调用function fn(a){console.log(a()); }// function(){} 充当的就是一个回调函数fn(function(){return "结果"});setTimeout(()=>{})Array.forEach(()=>{})Array.filter(()=>{})</script>

回调地狱

<body><script src="./ajax.js"></script><script>// 回调地狱// 为什么要有回调函数// - 当我们有一个异步行为的时候,我们需要在一个异步行为执行完毕之后做一些事情// - 我如何知道这个异步行为啥时候完毕// - 这时候我们就可以用回调函数的形式来进行// eg:比如 现在我要调用注册接口//    想要的效果是注册成功之后  在去马上登录//    咋知道啥时候注册成功呢?  调用注册接口时会有回调函数//    一旦走了回调函数  代表注册成功ajax({url: "/users/register",method: "post",data: {username: "hahahhahahah",password: "123456",rpassword: "123456",nickname: "踏月11111"},success(res) {console.log("第一次请求");ajax({url: "/users/login",method: "post",data: {username: "hahahhahahah",password: "123456"},success(res) {console.log("第二次请求");ajax({url:"XXX",success(){console.log("第三次请求");}})}})}})// 回调函数  里边 套回调函数  套回调函数....// 缺点:代码可读性不好</script>
</body>

promise的基本语法

  // 基本语法:// Promise中 写异步代码// let p1 = new Promise(function(resolve,reject){//resolve("成功")reject("失败")})// 一旦调用了.then 就会触发resolve 方法// 一旦调用了 .catch 就会触发   reject 方法p1.then(res=>{console.log(res);})p1.catch(err=>{console.log(err);})//promise 有三种状态// pending  -- 创建成功  等待中// fulfilled -- 调用了resolve  成功时执行// rejected  -- 调用了 reject  失败时执行
    new Promise(function(resolve,reject){resolve("成功")// reject("失败")}).then(res=>{console.log(res);}).catch(err=>{console.log(err);}).finally(()=>{console.log("成功失败都执行");})
<body><script>// 基本语法:// Promise中 写异步代码//     // //    let p1 = new Promise(function(resolve,reject){//         //resolve("成功")//         reject("失败")//    })//   // 一旦调用了.then 就会触发resolve 方法//  // 一旦调用了 .catch 就会触发   reject 方法//    p1.then(res=>{//     console.log(res);//    })//    p1.catch(err=>{//     console.log(err);//    })//promise 有三种状态// pending  -- 创建成功  等待中// fulfilled -- 调用了resolve  成功时执行// rejected  -- 调用了 reject  失败时执行new Promise(function(resolve,reject){resolve(function(){return "123"});// reject("失败")}).then(res=>{console.log(res());}).catch(err=>{console.log(err);}).finally(()=>{console.log("成功失败都执行");})</script>
</body>
<body><script>// 希望过5秒之后 在调用一个定时器  在打印东西// 异步代码转成同步代码   同步代码需要等待new Promise(function(resolve,reject){setTimeout(()=>{console.log("5秒的定时器");resolve("resolve触发了")},5000)console.log("嘿嘿嘿");}).then(res=>{console.log(res);setTimeout(()=>{console.log("2秒定时器");},2000)})// new Promise(function(resolve,reject){//     setTimeout(()=>{//         console.log("5秒的定时器");//         // resolve("resolve触发了")//         setTimeout(()=>{//             console.log("我是2秒的定时器");//         },2000)//     },5000)//     console.log("嘿嘿嘿");// })</script>

封装一个等待函数


<body><script>// 成功 失败 状态  是在promise对象才有的function wait() {let p1 = new Promise((resolve, reject) => {// 写你的异步代码// XXXXsetTimeout(() => { resolve("成功") }, 2000)})return p1}wait().then(res => {console.log(res);})</script>
</body>

promise解决回调地狱

   // 封装的网络请求函数 ajax-promise.js// 哪些是可变的  请求方式  请求地址  请求参数  请求头// 可变的  调用函数的时候传参!!! 传谁我就用谁!!function ajax(options){return new Promise((resolve,reject)=>{let method = options.method || "get";//如果你传了请求方式就用你传的 没传默认是getlet url = options.url;let header = options.header || {"Content-Type":"application/x-www-form-urlencoded"}let type = options.dataType || "json"// ajax希望传的是 ?name=jack&age=18  所以传来的参数进一步处理let data = formatData(options.data || {}); // data参数  get和post请求方式不一样  分情况讨论// get 方式在地址后边拼接  post方式是通过send(data) 发送的if(method.toUpperCase()=="GET"&&data){// foruth?name=jack&age=18url = url+"?"+data}// 1-创建xhr对象let xhr = new XMLHttpRequest();// 2-设置xhr对象xhr.open(method,`http://localhost:8888${url}`)for(let key in header){xhr.setRequestHeader(key,header[key]);}// 3- 发起请求// 分成两种情况   post请求的话 参数是通过send取发送的if(method.toUpperCase()=="POST" && data){xhr.send(data);}else{xhr.send();}// 4- 处理响应结果xhr.onload = function(){// 有可能是纯字符串  有可能是json字符串 (最常用的json串)let result;if(type=='json'){result = JSON.parse(xhr.responseText)}else{result = xhr.responseText}// options.success(result)resolve(result)}})}// 格式化data的函数function formatData(obj){let data = "";  // 保存保存处理好之后的数据for(let key in obj){data += `&${key}=${obj[key]}`}data = data.slice(1);//从下标为1开始截取到最后return data;}
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./ajax-promise.js"></script>
</head><body><!-- ajax函数  封装成一个promise  --><script>// promise.then().then().then()  正确的学法// promise.then(XXXX.then().XXXX.then)ajax({url: "/users/register",method: "post",data: {username: "hahahhahahah123",password: "123456",rpassword: "123456",nickname: "踏月11111"}}).then(res => {console.log("第二次请求");ajax({url: "/users/login",method: "post",data: {username: "hahahhahahah",password: "123456"},})}).then(res => {console.log("第三次请求");})</script></body></html>

http://www.dtcms.com/wzjs/399105.html

相关文章:

  • 安全的网站制作公司什么是网络营销的核心
  • 做进化树的网站培训机构不退费最有效方式
  • 东莞路桥统缴提升seo搜索排名
  • 北京营销型网站定制福州外包seo公司
  • 兖州建设公司网站nba新闻最新消息
  • wordpress js在哪谷歌seo最好的公司
  • 旅行用品东莞网站建设百度关键词批量看排名工具
  • 虚拟货币做空网站网络推广常见的方法
  • app制作视频教程seo建站营销
  • 怎么做淘宝客网站赚钱吗免费测试seo
  • 手机赚钱网站大全qq群引流推广平台免费
  • 酷炫网站设计风格跨境电商seo
  • 清河企业做网站网址大全名称
  • 手机网站建设免费怎么快速优化关键词排名
  • 对于ICP而言 主要承担网站信息网络营销有哪些
  • access 网站内容管理系统 哪个好 下载口碑营销方案怎么写
  • wap建站系统php版辽宁seo推广
  • 即墨网站建设公司宁波seo软件免费课程
  • 网站定制页面调整至居中平台推广计划
  • 做网站设计哈尔滨seo
  • seo优化网站快速排名长沙seo网络优化
  • 如何设计营销 网站建设谷歌seo服务
  • 搜企业信息的网站泰安优化关键词排名哪家合适
  • 网络推广网站排名百度云盘网页登录入口
  • 音乐网站开发代码今日重大国际新闻
  • 怎样做免费网站建设产品营销方案案例范文
  • 外贸网站域名网络的推广方式有哪些
  • 河北省建设机械会网站首页成都新一轮疫情
  • 昆明网站建设介绍中国搜索引擎排名2021
  • 网站建设单位是什么意思湖北网站seo设计