av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

javascript - nodejs 優化問題

瀏覽:119日期:2023-09-12 11:35:01

問題描述

如果我需要用nodejs 請求多個java的接口最后得到所有數據渲染頁面,怎么樣能提高速度之前我是這樣的

//請求接口 http.tp(options,function(error,response,tags){http.tp(options1,function(error,response,topic){ http.tp(follow,function(error,response,follow){http.tp(options2,function(error,response,topicRCMD){ data={follow:follow,topicRCMD:topicRCMD,tags:tags,topicHot:topic, } opt.render(data); //渲染頁面}) })}) })

這樣速度很慢。然后我引用async

return async.parallel({//我關注的人follow:function(callback){ http.tp(follow,function(error, response, follow){callback(null, follow); })},// 獲取標簽tags:function(callback){ http.tp(options,function(error, response, tags){callback(null, tags); })},// 獲取熱門話題topicHot:function(callback){ http.tp(options1,function(error, response, topicHot){callback(null, topicHot); })},// 獲取推薦話題列表topicRCMD:function(callback){ http.tp(options2,function(error, response, topicRCMD){callback(null, topicRCMD); })} }, function(err, results){console.log(’ssss:’,results);opt.render(results); //渲染頁面 });

這樣子速度變快了點,但還是很慢,請問這個有什么好的解決辦法嗎

問題解答

回答1:

第一個方法慢是因為需要花費的時間是所有請求時間的總和;第二種方法只需要花費最長的那個請求需要的時間,自然會快一些再想優化了就需要在渲染過程或者服務器端請求處理過程上優化了

回答2:

只能用promise.all類似的了吧,如果有什么好的方法可以告訴我。

回答3:

這個問題其實是渲染的策略問題,其實不需要在Node把所有數據請求完全后再發送到客戶端。

完全可以把這個請求數據的步驟放到客戶端,然后客戶端ajax獲取數據。這就不需要等所有數據獲取完。

回答4:

可以用es6語法中新增的promise,專門解決你這種回調黑洞的情況。

回答5:

感覺需要考慮兩點,第一,你所有的都是依賴前一個嗎?有沒有可能并行發一些請求;第二,有沒有可能分清主次,讓客戶端去發請求,畢竟客戶端視窗就那么大,主次關系會很明確,客戶端發請求,先發重要的,用戶首屏加載會看到的,再發后面的;

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 久久国产精品久久久久久 | 国产亚洲精品综合一区 | 一区二区三区四区在线 | 国产999在线观看 | 久久一区二区视频 | 婷婷不卡 | 亚洲精品第一页 | 欧美三区视频 | 色综合av | 91精品综合久久久久久五月天 | 国内精品伊人久久久久网站 | 91就要激情 | 国产99在线 | 欧美 | 在线免费黄色小视频 | 国产日产久久高清欧美一区 | 国产不卡视频 | 日韩国产精品一区二区三区 | 一级毛毛片 | 亚洲黄色av | 亚洲精品一区二区三区蜜桃久 | 精品国产欧美一区二区 | 久久精品免费看 | 欧美激情精品久久久久 | 欧美激情视频一区二区三区在线播放 | 成人精品一区亚洲午夜久久久 | 精品国产一区二区三区成人影院 | 亚洲综合色视频在线观看 | 亚洲一二三在线 | 成人在线视频一区 | 久久精品99国产精品 | 精品久久久久久久久久 | 婷婷久久一区 | 久久伊 | 欧美综合一区二区三区 | 欧美日韩精品一区 | 中日av | 欧美精品成人 | 夜夜爽99久久国产综合精品女不卡 | 三级视频在线观看 | 国产精品激情 | 日韩欧美中文字幕在线观看 |