Wpis z mikrobloga

Mam taki problem.

Robię sobie taki projekcik z użyciem node'a i mongoose.

_________________

const user = await User.findById(firstUserId);
const user2 = await User.findById(secondUserId);

user.costam = 'blabla';
user2.costam = 'blablablabla';

__________________________

Chciałbym zapisać obu userów w jednym momencie. Czy da się to zrobić w jakiś sposób?

#nodejs #mongoose #mongodb #javascript #programowanie #naukaprogramowania
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@trevoz: jak chcesz wykonać kilka asynchronicznych akcji jednocześnie to służy do tego Promise.all
const [user1, user2] = await Promise.all([
User.findById(firstUserId),
User.findById(secondUserId),
]);
  • Odpowiedz
@Chanandler: nieprawda. To tylko upewnia cie ze wszystkie promisy sie wykonaly ale nie sa wykonane jednoczesnie oraz nie wiesz w jakiej kolwjnosci.
@trevoz: wz zdefiniuj co to znaczy "w jednym momencie".
  • Odpowiedz
wz zdefiniuj co to znaczy "w jednym momencie".


@karer: głównie chodzi mi o to, że jeśli byłby błąd przy zapisywaniu jednego usera to user2 również by się nie zapisał.
  • Odpowiedz
@karer: oczywiście masz racje, źle to ująłem wcześniej, zwracam honor, ale myślałem, że generalnie chodziło OP o to by rozpocząć wykonywanie kilku promise jednocześnie a nie wykonywać jakieś czynności sekwencyjnie jak to obecnie robi
  • Odpowiedz