Проблема с callback () при использовании библиотек подсказок консоли в Node.js - PullRequest
0 голосов
/ 11 июля 2020

Каждый раз, когда я использую библиотеки, независимо от того, какая это библиотека, которые позволяют мне вводить данные в консоль, появляется ошибка, которая не позволяет мне правильно использовать функцию обратного вызова. Проблема в том, что обратный вызов работает без части ввода данных, но когда я его использую, он запускается после функции, которая запускается после основной функции.

const {prompt} = require('enquirer');

function second(error) {
    if (!error) console.log('I\'m third') //but in reality second
}

function main(callback) {
    console.log('I\'m first')
    const response = prompt({
        type: 'input',
        name: 'title',
        message: 'Please write title'
    })
    console.log(response); //must be second but in reality third
    callback()
}

main(second);

Вот вывод консоли:

I'm first
Promise { <pending> }
I'm third
✔ Please write title · 1

Думаю, это моя вина, потому что я новичок в колбэках и в Node.js в целом. Я был бы очень рад, если бы вы мне помогли.

1 Ответ

0 голосов
/ 11 июля 2020
const {prompt} = require('enquirer');

function second(error) {
    if (!error) console.log('I\'m third') 
}

async function main(callback) {
    console.log('I\'m first')
    const response = await prompt({
        type: 'input',
        name: 'title',
        message: 'Please write title'
    })
    console.log(response); 
    callback()
}

main(second);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...