javascript - 在 Node.js 中使用控制台提示库时出现回调()问题
问题描述
每次我使用库时,无论库是什么,允许我将数据输入控制台,都会出现不允许我正确使用回调函数的错误。问题是回调在没有数据输入部分的情况下工作,但是当我使用它时,它在函数之后启动,该函数在主函数之后启动。
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 的新手。如果你能帮助我,我会非常高兴。
解决方案
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);
推荐阅读
- javascript - 如何使整个背景可点击?
- python - 响应内容流中的 Pandas 0.25.0 和 xlsx
- bash - bash read -d '' 有什么作用?
- javascript - 在 react.js 中获取值形式的 json 数据
- python - Python多处理 - 映射私有方法
- shell - Ansible playbook 中的用户响应是 yes
- javascript - 在通过 mergeResolvers 导入的外部解析器文件中使用 MongoDB 集合变量时的 ReferenceError
- regex - Perl 子程序和 if-else 块只计算 else 块
- javascript - 使用猫鼬填充过滤数据
- jquery - Django 表单 ChoiceField 允许通过 jquery 进行动态选择