js中的异步处理(JSONP)

关于js中的同步和异步

我在这里简单说一下js中的同步跟异步。
JS是一门单线程语言,代码自上而下执行,就是说只有前面任务完成了后面的任务才能继续。
而异步不一样,异步就像多开了一个线程,能够同时做两件事情,最基础的两个异步函数就是setInterval和setTimeout,定时器跟延时器。
实例:

//定时器,每隔三秒钟打印一个“我好帅”
setInterval(()=>{
console.log("我好帅")
},3000)
//延时器 三秒钟之后打印“我好帅”
setTimeout(()=>{
console.log("我好帅")
},3000)

这两个函数都要等所有的同步代码执行完之后才能执行。

JSONP

能够跨域获取数据,从其他的网页来获取资料,让目标页面来回调本地页面的函数。
json的本质就是动态创建一个script标签,然后在script的src属性里面写目标网页的url地址以及一个回调函数,目标网页会执行这个回调函数,并返回数据。
用jsonp来获取百度的联想词汇
示例:

<input type="text" id="text">
<button ></button>
document.querySelector("button").onclick=function(){
       let text=document.getElementById("text").value
       let json=document.createElement("script")//创建一个script标签
       json.src="https://www.baidu.com/sugrec?&prod=pc&wd="+text+"&cb=fun"//cb是给目标页面执行的回调函数 callback
       document.body.appendChild(json)
}
function fun(res){//回调函数res为目标页面返回的数据
       console.log(res)
}

最后打印出来的的数据:
搜索“住”时:
在这里插入图片描述
这个是回调函数执行后打印的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值