Size: a a a

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

2020 February 22

I

Ivan in Node.js — русскоговорящее сообщество
ᐺ ! ᖇ ᖶ ᒪ
чё за resolve? он где-то объявлен?
exports.json = (url) => {
 return new Promise((resolve, reject) => {
   https.get(url, (res) => {
     let data = '';
     res.on('data', (chunk) => { data += chunk; });
     res.on('end', () => {
       try {
         resolve(JSON.parse(data,"utf8"));
       } catch (e) {
         console.log("ERRRR")
         reject(e.message);
       }
     });
   })
 });
}
источник

ᐺ ! ᖇ ᖶ ᒪ in Node.js — русскоговорящее сообщество
вроде как try catch в промисе не нужен

ты можешь ловить ошибку в .then(...).catch()
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Ivan
https.get(url, (res) => {
     let data = '';
     res.on('data', (chunk) => { data += chunk; });
     res.on('end', () => {
       try {
         resolve(JSON.parse(data,"utf8"));
       } catch (e) {
         console.log("ERRRR")
         reject(e.message);
       }
     });
   })
никак не могу закетчить ошибку. Она должна тут ловиться, но просто останавливает скрипт.
С чего? И куда пропал промис?
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Ivan
https.get(url, (res) => {
     let data = '';
     res.on('data', (chunk) => { data += chunk; });
     res.on('end', () => {
       try {
         resolve(JSON.parse(data,"utf8"));
       } catch (e) {
         console.log("ERRRR")
         reject(e.message);
       }
     });
   })
никак не могу закетчить ошибку. Она должна тут ловиться, но просто останавливает скрипт.
так мож надо json parse делать до резолва?
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Ivan
exports.json = (url) => {
 return new Promise((resolve, reject) => {
   https.get(url, (res) => {
     let data = '';
     res.on('data', (chunk) => { data += chunk; });
     res.on('end', () => {
       try {
         resolve(JSON.parse(data,"utf8"));
       } catch (e) {
         console.log("ERRRR")
         reject(e.message);
       }
     });
   })
 });
}
Вижу
источник

I

Ivan in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
так мож надо json parse делать до резолва?
да всё норм, но стоит мне подменить url на неверный всё падает
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Ivan
exports.json = (url) => {
 return new Promise((resolve, reject) => {
   https.get(url, (res) => {
     let data = '';
     res.on('data', (chunk) => { data += chunk; });
     res.on('end', () => {
       try {
         resolve(JSON.parse(data,"utf8"));
       } catch (e) {
         console.log("ERRRR")
         reject(e.message);
       }
     });
   })
 });
}
Это смешивание потоков и промисов. Очень дикое сочетание. Подробнее почему сейчас скину выступление одного из майнтейнеров стримов в ядре
источник

ᐺ ! ᖇ ᖶ ᒪ in Node.js — русскоговорящее сообщество
Ivan
да всё норм, но стоит мне подменить url на неверный всё падает
попробуй убрать try catch из промиса и взамен добавить .catch() к тому месту где его юзаешь
источник

T

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

I

Ivan in Node.js — русскоговорящее сообщество
ᐺ ! ᖇ ᖶ ᒪ
попробуй убрать try catch из промиса и взамен добавить .catch() к тому месту где его юзаешь
там есть кэтч тоже
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Ivan
exports.json = (url) => {
 return new Promise((resolve, reject) => {
   https.get(url, (res) => {
     let data = '';
     res.on('data', (chunk) => { data += chunk; });
     res.on('end', () => {
       try {
         resolve(JSON.parse(data,"utf8"));
       } catch (e) {
         console.log("ERRRR")
         reject(e.message);
       }
     });
   })
 });
}
parse, кстати, не принимает кодировку
источник

ᐺ ! ᖇ ᖶ ᒪ in Node.js — русскоговорящее сообщество
Ivan
там есть кэтч тоже
не понял
источник

T

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

SS

S S in Node.js — русскоговорящее сообщество
Парни,  я так понял с n-api можно писать на rust?
источник

I

Ivan in Node.js — русскоговорящее сообщество
getData.json(url_eu)
 .then((data) =>  processArray(data.response.docs))
 .catch((e) => console.error(e));
источник

ᐺ ! ᖇ ᖶ ᒪ in Node.js — русскоговорящее сообщество
Ivan
getData.json(url_eu)
 .then((data) =>  processArray(data.response.docs))
 .catch((e) => console.error(e));
а зачем try catch тогда? внутри промиса
источник

¿

¿hope in Node.js — русскоговорящее сообщество
S S
Парни,  я так понял с n-api можно писать на rust?
Вроде как недавно стало возможным
источник

I

Ivan in Node.js — русскоговорящее сообщество
чтобы вернул реджект
источник

T

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

ᐺ ! ᖇ ᖶ ᒪ in Node.js — русскоговорящее сообщество
ᐺ ! ᖇ ᖶ ᒪ
значит можно забить на yarn 2 пока
Failed to open the cache entry for typescript@patch:typescript@npm%3A3.8.2#builtin<compat/typescript>::version=3.8.2&hash=273569: Not a zip archive

фак
источник