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

网站目录怎么做网上接单平台

网站目录怎么做,网上接单平台,品牌推广专员,抚远佳木斯网站建设1.请描述Event loop(事件循环)的机制。 JS是单线程的,异步需要基于毁掉来实现,event loop 就是异步回调的实现原理。 同步代码,一行一行放在Call Stack执行,遇到异步任务,标记一下让其他线程去处…

1.请描述Event loop(事件循环)的机制。
JS是单线程的,异步需要基于毁掉来实现,event loop 就是异步回调的实现原理。
同步代码,一行一行放在Call Stack执行,遇到异步任务,标记一下让其他线程去处理(定时,网络请求等),其他线程处理完毕就放到callback Queue, 如果Call stack清空(即同步代码执行完),开始执行当前的微任务和微任务引发的微任务,执行完毕微任务队列,然后尝试进行DOM渲染,渲染结束,Event loop开始工作,轮询查找Callback Queue, 如果有则移动到Call Stack执行,然后继续重复上述步骤(永动机一样)。

2.什么是宏任务和微任务,两者有什么区别?
宏任务: setTimeout、setInterval、Ajax、DOM事件
微任务 :Promise、 async/await、
微任务执行时机比宏任务要早,微任务在DOM渲染前触发,宏任务在DOM渲染后出触发。微任务是ES6语法规定,宏任务是由浏览器规定的
3.Promise 有哪三种状态?如何变化?
三种状态:pending\resolved\rejected
pending ->resolved或pending -> rejected,变化不可逆。
resolved 会触发then回调,rejected会触发catch回调,只要回调里面没有报错,无论是then或catch返回的都是resolved状态,报错时会返回rejected状态。
4.async/await Promise的关系
执行async函数,返回的是一个Promise对象;await相当于Promise的then; try…catch可捕获异常,代替了Promise的catch。await后边的内容都可以当作异步回调的内容。

5.手写Promise

  • 初始化&异步调用
  • then链式调用
  • API、resolve、 reject 、all、 race、
class MyPromise {constructor(executor) {this.state = "pending";this.value = undefined;this.onResolveCallbacks = [];this.onRejectCallbacks = [];const resolve = (value) => {if (this.state === "pending") {this.state = "fulfilled";this.value = value;this.onResolveCallbacks.forEach((callback) => callback(this.value));}};const reject = (reason) => {if (this.state === "pending") {this.state = "rejected";this.value = reason;this.onRejectCallbacks.forEach((callback) => callback(this.value));}};try {executor(resolve, reject);} catch (error) {reject(error);}}then(onResolve, onReject) {return new MyPromise((resolve, reject) => {if (this.state === "fulfilled") {try {const result = onResolve(this.value);resolve(result);} catch (error) {reject(error);}} else if (this.state === "rejected") {try {const result = onReject(this.value);resolve(result);} catch (error) {reject(error);}} else {this.onResolveCallbacks.push((value) => {try {const result = onResolve(value);resolve(result);} catch (error) {reject(error);}});this.onRejectCallbacks.push((reason) => {try {const result = onReject(reason);resolve(result);} catch (error) {reject(error);}});}});}catch(onReject) {return this.then(null, onReject);}
}
http://www.khdw.cn/news/8815.html

相关文章:

  • 网站建设如何报价域名注册管理机构
  • 网站建设费用计入管理费用的哪个科目河北百度推广客服电话
  • 个人网站介绍怎么写关键词挖掘
  • 湖南省建设厅电话win7系统优化软件
  • 做公司网站需要备案吗小红书关键词热度查询
  • 沈阳微网站建设最新新闻实时新闻
  • 2018做网站的视频seo北京网站推广
  • 网站开发w亿玛酷1流量订制搜索引擎优化 简历
  • 不属于web2.0网站开发百度网盘搜索神器
  • foxmail邮箱手机版app网站seo是干什么的
  • 医疗网站制作2345王牌浏览器
  • 外贸网站布局武汉百度开户电话
  • 电子商务网站开发合同新开发的app怎么推广
  • 长安手机网站建设推广赚钱一个50元
  • 响应式做的比较好的网站永久免费客服系统
  • 批量替换wordpress页面文字汕头最好的seo外包
  • 上海专业做网站站内seo内容优化包括
  • 青岛seo整站优化哪家专业百度经验悬赏任务平台
  • 海外贸易网站百度营业执照怎么办理
  • 联系客户做网站成免费的crm
  • 三亚网站建设品牌百度知道app
  • 做网站买域名要多少钱网络广告营销对应案例
  • 姚安县党风廉政建设 网站郑州网站定制
  • 如何在公司服务器建个内部 网站网站建设的数字化和互联网化
  • 做暖dnf动态ufo网站深圳网络推广seo软件
  • 网站建设用户登录招代理最好的推广方式
  • 公司购买网站怎么做分录2022适合小学生的简短新闻摘抄
  • 邮箱网站怎么做如何学会推广和营销
  • 什么做网站站群seo的优化策略有哪些
  • 网站建设评判标准百度图片收录提交入口