• WGH丶
    2022-12-18 来自海南
    干掉时间这一最难管理的状态---我们这里干掉的是时间的不确定性带来的烦恼,干不掉的是时间造成的实际等待。 想要更好地优化后者,也有很多技术,主要有:可视时加载、交互时加载、预加载。

    作者回复: 很好的补充

    
    2
  • lemon
    2022-10-06 来自北京
    “在初始化的加载中,我们关注的通常是首次渲染时间(CFP,First Contentful Paint)”,这里应该是 FCP

    作者回复: 谢谢指正!是个勘误,我也编辑老师也说一声。

    
    2
  • 南城
    2022-10-23 来自北京
    cdn化,cdn后根据屏幕来计算需要的图片资源裁剪,http2或者3的使用,

    作者回复: 是一种方法

    
    1
  • 朱基
    2022-11-10 来自海南
    一、在第3个代码示例中,第2行的var eagerProducer =...,和第5行的var consumer = producer.map....,两个变量 eagerProducer 和 producer 是否应该一致? 二、在第4个代码示例中,第2行 var producer = Rx.Observable 中变量Rx指什么,对Rx加个小注释,增加用户体验。

    作者回复: 谢谢指正!已经修改了。

    
    
  • Nuvole Bianche
    2023-03-23 来自上海
    var user; getUser( userId, function onUser(userProfile){ var orders = user ? user.orders : null; user = userProfile; if (orders) { user.orders = orders; } } ); getOrders( userId, function onOrders(userOrders){ if (!user) { user = {}; } user.orders = userOrders; } ); 是我看不懂吗?没发现这段代码有排他性,如果都是网络请求,那最后user上面不都会有userProfile和userOrders信息吗? 除非userProfile是一个非引用类型的数据. 如果getUser先回来,那么在onUser回调函数执行后,user的值就是userProfile了,然后getOrders后回来,那么userOrders还是会最后挂在到user.orders上,原来的userProfile也没有被覆盖呀?
    
    