Node js, подождите, пока не получите все данные из MongoDB

Я думаю, что люди очень часто хотят использовать другую иконку или элемент, чтобы открыть собственное поле datepicker.

Я выяснил, что решение javascript с функцией «click () & amp ;.focus ()» работает только в webkit и некоторых других браузерах на рабочем столе, но, к сожалению, не в FireFox.

Но это возможно другим путем: наложение входного поля над элементом значка (или тем, что вы хотите использовать), и сделало его невидимым с помощью непрозрачности 0.

Это действительно отлично работает на мобильных устройствах, для настольных устройств я бы предложите добавить событие onclick в качестве резервной «$ ('. dateInpuBox»). click (). focus () "

    .myBeautifulIcon {
      position: relative;
      width: 50px;
    }
    .dateInputBox {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      opacity: 0;
    }
<div class="myBeautifulIcon">
  ICON
  <input class="dateInputBox" type="date" />
</div>

0
задан Alvard Hovhannisyan 7 March 2019 в 14:59
поделиться

1 ответ

Вы должны использовать try catch в этом коде

getFriendsPosts = async (user,callback) => {
    const arr = [];
    const array = [];
    const db = await MongoClient.connect(url);
    const dbo = db.db("drone-x");
    const results = await dbo.collection("users").find({_id: ObjectId(user.id)})
    const resultPromise =  _.map(results, async element => {
        const friends = _.get(element, 'friends', [])
        if(friends.length != 0) {
        const friendPromise =  _.map(friends, async friend => {
            const ress = await dbo.collection("users").find({_id: ObjectId(friend.id)})
            arr.push(ress);
            const resPromise = _.map(ress, async res => {
             const posts = await dbo.collection("posts").find({userId: res._id.toString()})
                const postPromise =  _.map(posts, post => {
                    array.push(post);
                })
              await Promise.all(postPromise)
            })
           await Promise.all(resPromise)
        })
       await Promise.all(friendPromise)
        } 
    })
   await Promise.all(resultPromise)
    return { arr , array }
}

Я не рекомендую, чтобы это занимало слишком много времени. Вы должны использовать мангуста и использовать агрегацию для длинных запросов.

0
ответ дан Ashok 7 March 2019 в 14:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: