Size: a a a

Node.js — русскоговорящее сообщество

2020 March 21

N👩

Nikita 👩🏻‍💻💭 in Node.js — русскоговорящее сообщество
Исмаил
ого, и такое есть
ога ))
источник

I

Igor in Node.js — русскоговорящее сообщество
парни, подскажите, как дождаться результата map ?
    mongo.get(param, function (result) {

        const temp = result.map(e => {

            mongo.get2(e._id, function (result2) {
               return result2;
           });
       });

       // не дожидатется результатов мапа
       res.send({ status: 'success', result: temp })
   });
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Igor
парни, подскажите, как дождаться результата map ?
    mongo.get(param, function (result) {

        const temp = result.map(e => {

            mongo.get2(e._id, function (result2) {
               return result2;
           });
       });

       // не дожидатется результатов мапа
       res.send({ status: 'success', result: temp })
   });
источник

りム リム イのイ 丂ムᄊノリ in Node.js — русскоговорящее сообщество
Igor
парни, подскажите, как дождаться результата map ?
    mongo.get(param, function (result) {

        const temp = result.map(e => {

            mongo.get2(e._id, function (result2) {
               return result2;
           });
       });

       // не дожидатется результатов мапа
       res.send({ status: 'success', result: temp })
   });
Не делайте так. Используйте агрегат $lookUp
источник

りム リム イのイ 丂ムᄊノリ in Node.js — русскоговорящее сообщество
https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/
источник

а

а in Node.js — русскоговорящее сообщество
Igor
парни, подскажите, как дождаться результата map ?
    mongo.get(param, function (result) {

        const temp = result.map(e => {

            mongo.get2(e._id, function (result2) {
               return result2;
           });
       });

       // не дожидатется результатов мапа
       res.send({ status: 'success', result: temp })
   });
в колбек засунь (get2) или оберни в промис
источник

倫岡

倫太郎 岡部 in Node.js — русскоговорящее сообщество
Igor
парни, подскажите, как дождаться результата map ?
    mongo.get(param, function (result) {

        const temp = result.map(e => {

            mongo.get2(e._id, function (result2) {
               return result2;
           });
       });

       // не дожидатется результатов мапа
       res.send({ status: 'success', result: temp })
   });
источник

а

а in Node.js — русскоговорящее сообщество
он же на nodejs работает
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
а
он же на nodejs работает
И что? У человека отсутствует базовое понимание асинхронности. Проблема не в Node.js.
источник

倫岡

倫太郎 岡部 in Node.js — русскоговорящее сообщество
Random Balance
И что? У человека отсутствует базовое понимание асинхронности. Проблема не в Node.js.
correct
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Олег Попович
На беке есть свойство user где есть id_company можна сверять с виртуальной колонкой в таблици, но вот писать к каждой таблици виртуальную колонку не охота(их 50 где-то)(
В постгрессе есть контроль доступа продвинутый. Может и в MySQL есть
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Но это чисто задача базы данных, а не адаптера ноды к ней
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Igor
парни, подскажите, как дождаться результата map ?
    mongo.get(param, function (result) {

        const temp = result.map(e => {

            mongo.get2(e._id, function (result2) {
               return result2;
           });
       });

       // не дожидатется результатов мапа
       res.send({ status: 'success', result: temp })
   });
Promise.all в помощь, ну и promisify
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Или же придется использовать async какой-нибудь, или самому такое же писать
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Но проще всего через async await и Promise.all
источник

а

а in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Но проще всего через async await и Promise.all
mongo.get(param, async function(result) {
 const temp = await Promise.all(
   result.map(e => {
     return new Promise(resolve => {
       mongo.get2(e._id, function(result2) {
         resolve(result2);
       });
     });
   })
 );

 res.send({ status: "success", result: temp });
});
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
а
mongo.get(param, async function(result) {
 const temp = await Promise.all(
   result.map(e => {
     return new Promise(resolve => {
       mongo.get2(e._id, function(result2) {
         resolve(result2);
       });
     });
   })
 );

 res.send({ status: "success", result: temp });
});
Ой, new Promise, фи
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
источник

а

а in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Ой, new Promise, фи
ой а как
я другого не знаю
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
`import { promisify } from "util";
mongo.getAsync = promisify(mongo.get.bind(mongo))`
источник