狂った約束を利用して

4828 ワード

Mongodbを使用してデータを受信します.
多くのデータを受信する必要がある場合があります.
最後のポイントで100回くらい….(50個のデータを送信する必要があり、各データには埋め込みが必要な情報が2つあります.)李娜.暇つぶしが起こった.
この時の思い.

Promise.allの利用


はい.
他のコードを表示するときにnew Promise(...)を使用する使用が印象的だったので、
試用することにしました.
  • 情報1および2コードの実装を承諾する;
  • 同時にPromise.all([1,2])
  • を要求
  • は、要求値に基づいてpromiseを返し、map関数を再びpromiseさせる.全部
  • に入れる
    ....
    編んでみましたが、コードが非常に複雑になりました.
    最終的には、他のより効率的な方法があるため、コードは完全に削除されました.
    記憶に基づいて少し書きたいです.
    あなたのおかげで、約束に少し自信がありました.
    △これは自慢のコードではありません......編んだ後、私はまだ足りないと思います.
    await Promise.all(arr.map((el)=>{
    	
      return new Promise((res,rej)=>{
        
      	const { id } = el
      	
        const p = new Promise((res,rej)=>{
    		const result = user.findOne(id)
          	resolve(result)
        })
        
        const k = new Promise((res,rej)=>{
        	const result = park.findOne(id)
            result result
        })
        
        const x = Promise.all([p,k])
    
        let obj = {}
    	obj.cate = x[0].cate
      	obj.loc = x[1].loc
      	resolve(obj)
      })  	
    }))