Size: a a a

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

2020 April 01

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Книга вечности
привет. помогите со второй таблицы по айди из первой вытащить значение
position.*
источник

К

Книга вечности in Node.js — русскоговорящее сообщество
Sergey 🛸
position.*
спасибо, а как вытащить только значение без айди
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
λера Розаλин
> Атомарность гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Будут либо выполнены все её подоперации, либо не выполнено ни одной.
У него нет проблем с атомарностью
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Книга вечности
спасибо, а как вытащить только значение без айди
Перечислить их, вместо *
источник

К

Книга вечности in Node.js — русскоговорящее сообщество
Sergey 🛸
Перечислить их, вместо *
как было все просто, а я гуглю уже несколько часов, чего только не пробовал. большое спасибо
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Книга вечности
как было все просто, а я гуглю уже несколько часов, чего только не пробовал. большое спасибо
внимательно читаем правило 7
https://rudevs.network/ByaMH6un7?cda=
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
вот бы кто подобную проблему оформил бы в репозиторий с тестами. чтобы затем можно было в порядке обучения решать ее разными способами
async function purchase(price) {
 await db.transaction()
 const balance = await db.select("select balance from user where id = 123")
 if (balance < price) { return await db.rollback() }
 await db.update("update user set balance = ${balance - price} where id = 123")
 return await db.commit()
}

purchase(100); purchase(100)
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
транзакции тут никак не помогают
источник

MS

Misha Shandra in Node.js — русскоговорящее сообщество
как мне заставить миделвар подождать это???  
arr.forEach(async image => {
   let result = await axios.get(image, {responseType: 'arraybuffer'})
   const imageBase64 = Buffer.from(result.data).toString('base64')
   console.log(data:image/png;base64,+imageBase64)
 })
источник

К

Книга вечности in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
внимательно читаем правило 7
https://rudevs.network/ByaMH6un7?cda=
впервые такое правило встречаю)
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Misha Shandra
как мне заставить миделвар подождать это???  
arr.forEach(async image => {
   let result = await axios.get(image, {responseType: 'arraybuffer'})
   const imageBase64 = Buffer.from(result.data).toString('base64')
   console.log(data:image/png;base64,+imageBase64)
 })
заменить foreach на map и обернуть всё в Promise.all
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
Misha Shandra
как мне заставить миделвар подождать это???  
arr.forEach(async image => {
   let result = await axios.get(image, {responseType: 'arraybuffer'})
   const imageBase64 = Buffer.from(result.data).toString('base64')
   console.log(data:image/png;base64,+imageBase64)
 })
Внутри forEach async/await бесполезен для твоей задачи. Он не будет ждать.
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
Если ты хочешь последовательного выполнения. *
источник

N👩

Nikita 👩🏻‍💻💭 in Node.js — русскоговорящее сообщество
Misha Shandra
как мне заставить миделвар подождать это???  
arr.forEach(async image => {
   let result = await axios.get(image, {responseType: 'arraybuffer'})
   const imageBase64 = Buffer.from(result.data).toString('base64')
   console.log(data:image/png;base64,+imageBase64)
 })
Promise.all
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
и делать Promise.all( ... ).then(() => next())
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
бизнес-логика в мидлварах — можно и по-страдать
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
А в экспрессе в мидлваре разве будет async/await работать как надо?
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Random Balance
А в экспрессе в мидлваре разве будет async/await работать как надо?
из коробки не будет только выбрасывание исключений ловиться. ну и next() нужно вызывать.

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

MS

Misha Shandra in Node.js — русскоговорящее сообщество
как то так?
arr.map(image => {
   return new Promise((resolve, reject) => {
     axios.get(image, {responseType: 'arraybuffer'})
     .then(({data}) => {
       let imageBase64 = Buffer.from(data).toString('base64')
       resolve(data:image/png;base64,+imageBase64)
     })
   })
 })
 Promise.all(arr).then(values => {
   console.log(values)
 })
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
Misha Shandra
как то так?
arr.map(image => {
   return new Promise((resolve, reject) => {
     axios.get(image, {responseType: 'arraybuffer'})
     .then(({data}) => {
       let imageBase64 = Buffer.from(data).toString('base64')
       resolve(data:image/png;base64,+imageBase64)
     })
   })
 })
 Promise.all(arr).then(values => {
   console.log(values)
 })
почти
источник