A_75_Nodejs
2021-04-15 22:52:57   0  举报             
     
         
 AI智能生成
  全面、高效的知识图谱:A_75_Nodejs!!   全面又深度的提升认知,达到实际应用的目的!    建议先纵观全局,掌握好大方向。   再根据自己的需要,针对性的学习某一个点,最后做到逐步由点及面。
    作者其他创作
 大纲/内容
  闭包    
     用处    
     读取函数内部变量  
     让这些变量始终保持在内存中  
     注意    
     由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,
所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。
解决方法是,在退出函数之前,将不使用的局部变量全部删除。  
     闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。  
     常用框架    
     express  
     koa  
     同步代码(包括promise的构造函数) -> promise.then -> setTimeout ,
实际上promise.then内部会根据系统来判断,若系统支持setImmediate则直接执行该函数,否则执行process.nextTick  
     异步流程控制    
     Promise    
     两大特点    
     对象的状态不受外界影响  
     一旦状态改变就不会再变  
     三种状态    
     pending  
     fullfilled  
     rejected  
     缺点    
     一旦建立就会立即执行,无法中途取消  
     内部抛出的错误无法反应到外部,同时异常堆栈没有记录出错的具体位置  
     当处于pending状态时,无法得知目前进展到哪个阶段  
     若业务逻辑过多会导致有过多的then及嵌套,导致代码可读性变差  
     调试不方便  
     co模块    
     yield后面的数据类型    
     promise  
     thunks  
     array  
     objects  
     generators  
     generator functions  
     并发异步  
     async模块    
     模块导出分析  
     async/await    
     async    
     无返回值    
     会返回Promise.resolve(undefined)  
     有返回值    
     直接量    
     返回Promise.resolve(直接量)  
     await  
     apply/call    
     apply  
     call  
     bind  
     非IO异步Api    
     settimeout    
     回调函数中的this指向window对象  
     setTimeout不止两个参数,后面的参数可作为回调参数的入参  
     所谓的立即执行 0    
     HTML5中已经将最小执行时间统一为4ms  
     setInterval    
     实现与settimeout大体一致,只是该方法多了重复执行的过程  
     setImmediate    
     内部由链表实现  
     process.nextTick    
     内部由数组实现,时间复杂度为O(1)  
     优先级对比  
    
 
 
 
 
  0 条评论
 下一页