日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - node異步問題

瀏覽:180日期:2023-09-24 15:28:01

問題描述

想要callback在findById之后執(zhí)行,但又不能放在它的回調(diào)中,不然會執(zhí)行多次。應該怎么辦?

javascript - node異步問題

問題解答

回答1:

軟件是服務行業(yè),要有服務意識……代碼貼圖沒問題,可以看得很清晰,但是如果回答者想改你的代碼,還得重新敲一遍…………

我看你已經(jīng)用了 es6 的語法,所以正解肯定是 Promise,可以自己封裝成 Promies

exports.findList = function(findObj, callback) { Info.find(findObj, function(err, info) {const promises = info.map(f => new Promise((resolve, reject) => { f.image = f.images.split(',')[0]; User.findById(f.author_id, function(error, user) {if (error) { reject(error); return;}f.author_name = user.name;f.authro_avatar = user.avatar;resolve(f); });}));Promise.all(promises) .then(function(values) {// 成功的時候,這個 values 是所有 info 對象,// 作為一個數(shù)組返回出來,而不是某一個callback(null, values); }) .catch(function(error) {// 注意這里 error 是第一個失敗 error// 不是所有的 error callback(error); }); });};

當然也可以用 Bluebird 提供的工具函數(shù)來封裝 Promise

需要注意的是你這里運行了好多個異步調(diào)用,所以要一起返回的話,肯定也是好多個結(jié)果。所以注意 Promise.all 后面 then() 中的回調(diào)。

如果你要用 es5,建議你寫成 es6 再 Babel。不過 Node 7.6+ 已經(jīng)支持 es2017 的一些特性,所以其實不必在意這個問題。如果確實需要,就采用在 findById 回調(diào)中記數(shù)的辦法,記滿放大招(調(diào)用 callback)。

回答2:

方案一

使用 async/await。這樣就可以按照同步方式使用 User.findById。

方案二

在循環(huán)中把 User.findById 加入一個數(shù)組,然后用 Promise.all,callback 寫在 Promise.all().then() 中。

方案三

使用一個狀態(tài)變量,每次檢查一下,滿足條件再執(zhí)行 callback。丑陋的方法,不要用。

回答3:

設(shè)置個參數(shù),執(zhí)行完設(shè)置下,以后每次進入回調(diào)判斷下 ..

回答4:

對于callback地獄,請使用Promise 或者類似類庫。

回答5:

exports.findList=function (findObj,callback) { Info.find(findObj,function (err,info) {for(let i in info){ info[i].image=info[i].images.split(’,’)[0]; User.findById(info[i].author_id,function (error,user) {info[i].author_name=user.name;info[i].author_avatar=user.avatar;if(i==info.length-1){ callback(err,info);} })} })}

我的解決方法,有點low。。?

回答6:

二樓說得對,用promise解決。

標簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美天堂视频| 久久精品二区亚洲w码| 国产欧美在线| 国产精品1区| а√天堂8资源中文在线| 成人污污视频| 天堂а√在线最新版中文在线| 98精品视频| 1024精品一区二区三区| 婷婷综合社区| 亚洲美洲欧洲综合国产一区| 激情婷婷亚洲| 视频一区二区三区中文字幕| 亚洲一级淫片| 国产精品久久久久av蜜臀| 国产精品玖玖玖在线资源| 美女视频黄久久| 黄毛片在线观看| 99免费精品| 天堂久久av| 成人精品国产亚洲| 九一精品国产| 国产欧美一级| 亚洲午夜精品久久久久久app| 日本欧美在线看| 免费在线亚洲欧美| 国产v综合v| 日韩动漫一区| 91看片一区| 日韩精品一区二区三区中文字幕| 国产精品三级| 欧美成人基地| 视频一区视频二区在线观看| 国产精品一页| 国产亚洲欧洲| 成人精品久久| 日本免费在线视频不卡一不卡二| 日本免费一区二区三区四区| 亚洲一二av| 日韩毛片在线| 精品中国亚洲| 日韩av三区| 亚洲成人免费| 国产精品99一区二区三| 国产图片一区| 首页国产欧美日韩丝袜| www.九色在线| 日本中文字幕视频一区| 午夜精品婷婷| 日韩国产一区| 精品国产中文字幕第一页| 日韩精品欧美成人高清一区二区| 久久一区二区中文字幕| 欧洲精品一区二区三区| 国产中文欧美日韩在线| 国产日产精品_国产精品毛片| 99riav1国产精品视频| 亚洲成av在线| 日韩电影在线视频| 国产va免费精品观看精品视频| 婷婷五月色综合香五月| 亚洲制服一区| 日韩网站在线| 亚洲一区二区成人| 99热精品在线| 免费国产亚洲视频| 视频一区日韩| 国产精品白丝久久av网站| 国产精品亚洲成在人线| 国产欧美日韩影院| 欧美国产另类| 成人影视亚洲图片在线| 蜜桃精品在线| 国产91精品对白在线播放| 一级欧洲+日本+国产| 亚洲欧美成人综合| 日韩精品视频在线看| 日韩国产一二三区| 国产精品xxxav免费视频| 久久婷婷国产| 日韩视频一区二区三区在线播放免费观看| 狠狠操综合网| 国产精品最新| 波多视频一区| 综合一区二区三区| 丰满少妇一区| 激情久久婷婷| 国产精品视频3p| 99精品综合| 国产日韩欧美一区二区三区在线观看| 国产videos久久| 蜜桃视频免费观看一区| 免费的成人av| 视频在线不卡免费观看| 欧美日韩国产探花| 九九久久国产| 亚洲精品成人一区| 老牛影视精品| 欧美日韩亚洲一区| 午夜欧美理论片| 精品一区av| 日韩欧美四区| 夜夜嗨一区二区三区| 久久97久久97精品免视看秋霞| 亚洲在线电影| 91tv亚洲精品香蕉国产一区| 欧美亚洲二区| 女同性一区二区三区人了人一| 91福利精品在线观看| 亚洲成人va| 国产成人调教视频在线观看| 国产精品日本| 91精品一区二区三区综合| 欧美韩一区二区| 日韩欧美三区| 男女激情视频一区| 欧美性感美女一区二区 | 久久激情av| 中文一区一区三区免费在线观 | 亚洲免费观看高清完整版在线观| 91综合视频| 欧美交a欧美精品喷水| 日韩av资源网| 亚洲精品观看| 欧美午夜不卡| 亚洲成人二区| 国产专区一区| 欧美日韩激情| 久久成人国产| 美女精品在线| 中文不卡在线| 日韩国产在线观看| 久久狠狠久久| 久久免费福利| 婷婷激情一区| 91久久久精品国产| 在线视频精品| 亚洲精品综合| 欧美日韩精品一区二区三区视频| 伊人国产精品| 91成人在线网站| 麻豆极品一区二区三区| 精品99久久| 久久精品不卡| 亚洲影院天堂中文av色| 日韩精品视频网| 久久久免费人体| 久久精品官网| 欧美日韩精品一本二本三本| 欧美女激情福利| 日本一区二区三区视频在线看| 欧美一区二区三区久久精品| 欧美黄色精品| 亚洲在线观看| 国产精品伊人| 久久精品官网| 日本精品一区二区三区在线观看视频 | 中文字幕乱码亚洲无线精品一区| 偷拍亚洲精品| 中文在线а√天堂| 最近国产精品视频| 成人精品视频| 亚洲一区网站| 五月婷婷亚洲| 日韩精品中文字幕一区二区| 精品国产鲁一鲁****| 精品网站999| 久久男人天堂| 日本视频在线一区| 精品日韩视频| 欧美日本三区| 日韩久久99| 久久久久久久久久久9不雅视频| 日本一区二区三区中文字幕| 综合一区av| 老司机精品视频网| 久久xxxx精品视频| 肉色欧美久久久久久久免费看| 亚洲精品自拍| 久久在线免费| 日韩在线第七页| 国产伦精品一区二区三区千人斩 | 蜜桃av一区二区三区电影| 高清av一区| 免费在线欧美黄色| 国产精品欧美一区二区三区不卡| 免费观看在线综合| 日韩专区欧美专区| 在线综合亚洲| 激情综合网站| 久久精品国产亚洲夜色av网站| 成人精品视频| 日韩一区二区在线免费| 国产伦久视频在线观看| 国产在线观看91一区二区三区| 日韩精品免费一区二区三区| 91成人精品| 国产精品一区三区在线观看| 久久久五月天| 91精品国产自产观看在线|