|   |   | 
| 
 | 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); }) | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |