|
nodejs прочитать из консоли внутри promice? | ☑ | ||
---|---|---|---|---|
0
Fragster
гуру
06.02.17
✎
21:40
|
линейный код выглядит так:
соединились с сервером отправили запрос /// тут на телефон приходит код прочитали код из командной строки отправили еще один запрос завернул первую часть в промис, получилось типа regPhone = require('./regPhone'); regPhone.sendCode(phoneNumber, server).then( (result) => { console.log(result); // а вот тут надо прочитать с stdin код regPhone.getKey(); }); проблема в том, что все мануалы на чтение stdin выглядят примерно так: process.stdin.setEncoding('utf8'); process.stdin.on('readable', () => { var data = process.stdin.read(); if (data === null) { return; }; data = data.trim(); .... }); как это впихнуть внутрь обработчика промиса - непонятно. наверное надо превратить в еще один промис, только как? |
|||
1
Asmody
06.02.17
✎
22:28
|
вот это не подойдёт https://www.npmjs.com/package/all-promise
|
|||
2
Asmody
06.02.17
✎
22:29
|
?
|
|||
3
Fragster
гуру
06.02.17
✎
22:38
|
нет, но у ноды есть замечательный readline
|
|||
4
Fragster
гуру
06.02.17
✎
22:40
|
const readline = require('readline');
const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.question('What do you think of Node.js? ', (answer) => { // TODO: Log the answer in a database console.log( Thank you for your valuable feedback: ${answer} );
rl.close(); }); и чентральная часть замечательно запихивается в промис |
|||
5
Asmody
06.02.17
✎
22:46
|
const stdinRead = ()=>{
new Promise((resolve, reject)=>{ process.stdin.setEncoding('utf-8') process.stdin.on('readable', () => { let data = process.stdin.read() if (data === null) reject(new Error(...)) resolve(data.trim()) } } } и потом где надо stdinRead().then((data)=>{...}).catch((err)=>{...}) |
|||
6
Asmody
06.02.17
✎
22:52
|
return пропустил перед new
|
|||
7
eks1985
06.02.17
✎
22:52
|
new Promise((resolve, reject)=>{ тут return забыл
|
|||
8
eks1985
06.02.17
✎
22:53
|
(6) =)
|
|||
9
Asmody
06.02.17
✎
22:54
|
на планшете неудобно код писать
|
|||
10
Fragster
гуру
06.02.17
✎
23:24
|
есть реализация telegram api на ноде.жс, более полная, чем telegram.link?
|
|||
11
Fragster
гуру
06.02.17
✎
23:24
|
не боты, а полноценные клиенты
|
|||
12
Fragster
гуру
09.02.17
✎
23:32
|
не пойму, в чем косяк:
вот так в callback попадает параметр function getKey(code) { return new Promise(function(callback, reject) { client.auth.signIn(code, callback); }); }; а вот так нет: function getKey(code) { return new Promise(function(callback, reject) { client.auth.signIn(code, (result)=>{callback(result)}); }); }; не пойму, что делаю не так. Вызов происходит так: getCode(code).then((res)=>{ console.log(res); }) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |