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

网站开发网页加载缓慢查询数据库慢你学做网站学了多久

网站开发网页加载缓慢查询数据库慢,你学做网站学了多久,网站建设包括哪些方面的费用,WordPress自动搜索文章插件EVENTS events模块API实例 const EventEmitter require(events);class MyEmitter extends EventEmitter { } //EventListener 会按照监听器注册的顺序同步地调用所有监听器。 //所以需要确保事件的正确排序且避免竞争条件或逻辑错误。 //监听器函数可以使用 setImmediate() 或…EVENTS events模块API实例  const EventEmitter require(events);class MyEmitter extends EventEmitter { } //EventListener 会按照监听器注册的顺序同步地调用所有监听器。 //所以需要确保事件的正确排序且避免竞争条件或逻辑错误。 //监听器函数可以使用 setImmediate() 或 process.nextTick() 方法切换到异步操作模式 const myEmitter new MyEmitter(); myEmitter.on(event, (a, b) {setImmediate(() {console.log(这个是异步发生的);}); }); myEmitter.on(event1, () {console.log(触发了一个事件1); }); myEmitter.on(event2, () {console.log(触发了一个事件2); }); //eventEmitter.once() 方法时可以注册一个对于特定事件最多被调用一次的监听器。 当事件被触发时监听器会被注销然后再调用。 let m 0; myEmitter.once(event3, () {console.log(m); }); //当EventEmitter 实例中发生错误时会触发一个 error 事件。 这在 Node.js 中是特殊情况。 //最佳实践应该始终为 error 事件注册监听器。 myEmitter.on(error, (err) {console.error(有错误); }); //emitter.prependListener() 方法可用于将事件监听器添加到监听器数组的开头。 myEmitter.prependListener(event, () console.log(b)); //添加一个单次 listener 函数到名为 eventName 的事件的监听器数组的开头。 下次触发 eventName 事件时监听器会被移除然后调用。 myEmitter.prependOnceListener(event, (stream) {console.log(c); }); myEmitter.emit(error, new Error(whoops!)); myEmitter.emit(event3); myEmitter.emit(event3); myEmitter.emit(event); myEmitter.emit(event2); myEmitter.emit(event1); myEmitter.emit(event); const EventEmitter require(events); class MyEmitter extends EventEmitter {} const myEmitter new MyEmitter();//this指向MyEmitter // myEmitter.on(event, function (a, b) { // console.log(a, b, this); // });//this指向空对象 myEmitter.on(event, (a, b) {console.log(a, b, this);// 打印: a b {} });myEmitter.emit(event, a, b); const EventEmitter require(events);class MyEmitter extends EventEmitter { }const myEmitter new MyEmitter(); // 当EventListener 所注册的事件发生的时候,该方法会被调用 myEmitter.once(newListener, (event, listener) {if (event event) {// 在开头插入一个新的监听器myEmitter.on(event, () {console.log(B);});} }); myEmitter.on(event, () {console.log(A); }); myEmitter.emit(event); myEmitter.emit(event); const EventEmitter require(events); class MyEmitter extends EventEmitter { } const myEmitter new MyEmitter(); // 在事件触发后、最后一个监听器完成执行后从名为 eventName 的事件的监听器数组中移除指定的 listener。 const callbackA () {console.log(A);myEmitter.removeListener(event, callbackB); }; const callbackB () {console.log(B); }; myEmitter.on(event, callbackA);myEmitter.on(event, callbackB);myEmitter.emit(event); myEmitter.emit(event); URL WHATWG URL API实例 const {URL} require(url); const myURL1 new URL(https://abc:xyzexample.com); console.log(myURL1);const myURL2 new URL(/foo, https://example.org/); console.log(myURL2);const myURL3 new URL(https://example.org/abc?asdabc); console.log(myURL3.searchParams);const myURLs [new URL(https://www.example.com),new URL(https://test.example.org) ]; console.log(JSON.stringify(myURLs));// ┌─────────────────────────────────────────────────────────────────────────────────────────────┐ // │ href │ // ├──────────┬──┬─────────────────────┬─────────────────────┬───────────────────────────┬───────┤ // │ protocol │ │ auth │ host │ path │ hash │ // │ │ │ ├──────────────┬──────┼──────────┬────────────────┤ │ // │ │ │ │ hostname │ port │ pathname │ search │ │ // │ │ │ │ │ │ ├─┬──────────────┤ │ // │ │ │ │ │ │ │ │ query │ │ // https: // user : pass sub.host.com : 8080 /p/a/t/h ? querystring #hash // │ │ │ │ │ hostname │ port │ │ │ │ // │ │ │ │ ├──────────────┴──────┤ │ │ │ // │ protocol │ │ username │ password │ host │ │ │ │ // ├──────────┴──┼──────────┴──────────┼─────────────────────┤ │ │ │ // │ origin │ │ origin │ pathname │ search │ hash │ // ├─────────────┴─────────────────────┴─────────────────────┴──────────┴────────────────┴───────┤ // │ href │ // └─────────────────────────────────────────────────────────────────────────────────────────────┘ const {URL, URLSearchParams} require(url); const myURL new URL(https://example.org/?abc123); console.log(myURL.searchParams.get(abc)); myURL.searchParams.append(abc, xyz); myURL.searchParams.delete(abc); myURL.searchParams.set(a, b); const newSearchParams new URLSearchParams(myURL.searchParams); newSearchParams.append(a, c); myURL.search newSearchParams; console.log(myURL.href); const {URL, URLSearchParams} require(url); const myURL new URL(https://example.org/?abc123); console.log(myURL.searchParams.get(abc)); myURL.searchParams.append(abc, xyz); myURL.searchParams.delete(abc); myURL.searchParams.set(a, b); const newSearchParams new URLSearchParams(myURL.searchParams); newSearchParams.append(a, c); myURL.search newSearchParams; console.log(myURL.href); //在数组的形式中重复的键是不允许的。 const params new URLSearchParams({user: abc,query: [first, second] }); console.log(params.getAll(query)); console.log(params.toString());//iterable Iterable 一个元素时键值对的迭代对象 let params; // Using an array params new URLSearchParams([[user, abc],[query, first],[query, second] ]); console.log(params.toString()); // 输出 userabcqueryfirstquerysecond// 使用Map对象 const map new Map(); map.set(user, abc); map.set(query, xyz); params new URLSearchParams(map); console.log(params.toString()); // 输出 userabcqueryxyz// 使用generator函数 function* getQueryPairs() {yield [user, abc];yield [query, first];yield [query, second]; } params new URLSearchParams(getQueryPairs()); console.log(params.toString()); // 输出 userabcqueryfirstquerysecond// 每个键值对必须有两个元素 new URLSearchParams([[user, abc, error] ]); // 抛出 TypeError [ERR_INVALID_TUPLE]: // 每一个键值对必须是迭代的[键值]元组 //在数组的形式中重复的键是不允许的。 const params new URLSearchParams({user: abc,query: [first, second] }); console.log(params.getAll(query)); console.log(params.toString());//iterable Iterable 一个元素时键值对的迭代对象 let params; // Using an array params new URLSearchParams([[user, abc],[query, first],[query, second] ]); console.log(params.toString()); // 输出 userabcqueryfirstquerysecond// 使用Map对象 const map new Map(); map.set(user, abc); map.set(query, xyz); params new URLSearchParams(map); console.log(params.toString()); // 输出 userabcqueryxyz// 使用generator函数 function* getQueryPairs() {yield [user, abc];yield [query, first];yield [query, second]; } params new URLSearchParams(getQueryPairs()); console.log(params.toString()); // 输出 userabcqueryfirstquerysecond// 每个键值对必须有两个元素 new URLSearchParams([[user, abc, error] ]); // 抛出 TypeError [ERR_INVALID_TUPLE]: // 每一个键值对必须是迭代的[键值]元组  转载于:https://www.cnblogs.com/Merrys/p/8391199.html
http://www.sadfv.cn/news/27402/

相关文章:

  • 建筑设计网站大全网站网站开发工程师ppt
  • 免费建各种网站google代理服务器地址
  • 市建设局网站的综合业务管理平台wordpress注册修改密码
  • wordpress网站模板下载失败信息产业部网站备案系统
  • 免费隐私网站推广网站seo入门基础教程书籍
  • 如何做网站清风制作郑州做网站怎么样
  • 网站分哪些种类学网站美工设计
  • 接单做网站的网络营销渠道优化
  • 做网站怎么赚钱 注册目前最好的旅游网站
  • 那种网站打不开网站 做 app
  • wordpress临时关站网页设计 传统网站
  • 网站备案表不会写布吉做棋牌网站建设哪家服务好
  • xp 做网站服务器大理州建设局网站门户网
  • 如何利用wordpress编辑网站网站建设安全规划
  • 网站开发公司排行网络营销是什么时候出现的
  • wordpress建淘宝客网站建筑模板是什么东西
  • 迅速上排名网站优化自己做手机版网站制作
  • 网站怎么创建论坛广州洛可可设计公司
  • 网站都是在哪里制作的wordpress一小时建站
  • 做淘宝客需要网站吗男生学平面设计好就业吗
  • 网站运营代理代理公司注册价格
  • 如何判断网站html5大连服务公司 网站
  • canvas效果网站WordPress网站hym地图
  • 电商加盟网站建设vc 做网站源码
  • 网站代码免费下载公司起名参考大全
  • 怎么检查网站死链有免费的微网站是什么
  • 做网站和网页有区别吗dedecms企业网站模板
  • 腾讯云wed服务器做网站网站开发如何使用微信登录
  • 工艺品商城网站建设欧米茄官方手表
  • IC 网站建设如何利用个人nas做网站