我基本上试图编写一个非常基本的程序,它将像这样工作:
Enter your name: _
Enter your age: _

Your name is <name> and your age is <age>.

我一直试图弄清楚如何在Node中做这样的事情而不使用提示npm模块.

我的尝试是:

import readline from 'readline'

const rl = readline.createInterface({
  input: process.stdin,output: process.stdout
})

rl.question('What is your name? ',(name) => {
  rl.question('What is your age? ',(age) => {
    console.log(`Your name is ${name} and your age is ${age}`)
  })
})

然而,这种嵌套的方式看起来很奇怪,无论如何我可以做到这一点,而不是像这样嵌套,以获得正确的顺序?

解决方法

zangw的答案就足够了,但我想我可以说清楚一点:
import readline from 'readline'

const rl = readline.createInterface({
  input: process.stdin,output: process.stdout
})

function askName() {
  return new Promise((resolve) => {
    rl.question('What is your name? ',(name) => { resolve(name) })
  })
}

function askAge(name) {
  return new Promise((resolve) => {
    rl.question('What is your age? ',(age) => { resolve([name,age]) })
  })
}

function outputEverything([name,age]) {
  console.log(`Your name is ${name} and your age is ${age}`)
}

askName().then(askAge).then(outputEverything)

如果你不关心它,那么顺序问两个问题,你可以这样做:

//the other two stay the same,but we don't need the name or the arrays Now
function askAge() {
  return new Promise((resolve) => {
    rl.question('What is your age? ',(age) => { resolve(age) })
  })
}

Promise.all([askName,askAge]).then(outputEverything)

javascript – 这个例子可以使用promises吗?的更多相关文章

  1. php – 数组的Yii验证规则

    有没有办法在Yii模型的rules()方法中需要一个元素数组?

  2. 如何将数组存储到php中的会话变量中

    //从问题表中返回10个问题现在我需要在会话变量中存储整套$que[].像这样的东西所以$my_array[0]返回第一个问题,$my_array[1]返回第二个问题,就像那样.分配的print_r;会给你第一个问题.

  3. php – Zend_Form无线电元素

    下面是在Zend_Form中创建带有Yes/No选项的单选按钮元素的示例代码.关于如何将所需答案设置为是的任何想法,所以如果选择否,它将无法验证?以下代码将接受是或否.不确定这是否是最佳方式,但它对我有用:

  4. AngularJs不能访问控制器中的表单对象($scope)

    我使用bootstrap-ui更具体的模态窗口。我有一个形式在模态,我想要的是实例化表单验证对象。所以基本上我这样做:我可以看到表单对象在html文件,没有问题,但是如果我想从控制器访问表单验证对象。它只输出我的空对象。这里是控制器示例:可能是什么原因,我不能访问$scope.form从控制器?只是对于那些没有使用$scope,而是这样,在他们的控制器,你将不得不添加控制器别名之前的窗体的名称。

  5. javascript – 如果条件使用Angular JS,如何显示一个元素

    如果unity_variable等于true,我想显示一个选择框,如果不是unity_variable等于false,我想要显示单位我试过这个:还有这个:所以,如果我没有把每个问题的ng-show用于统一的选择框或显示两次但不尊重条件……请帮忙找出我的错误!

  6. c# – Asp.Net MVC表单,具有未知的Controller参数

    我正在构建一个问卷mvcwebapp,我无法弄清楚如何从表单中将未知数量的参数传递给控制器.我的表格是这样的:现在我在控制器中需要的是List,ResponseAnswer具有以下属性:stringquestionID,字符串AnswerText,boolAnswerBool,号码AnswerNumber,…那么如何将包含questionID,AnswerType和Answer的未知数量的项目传递给控制器.在webforms中,我通过使用转发器而不是foreach呈现表单来解决此问题,然后通过问题转发器迭

  7. javascript – 这个例子可以使用promises吗?

    我基本上试图编写一个非常基本的程序,它将像这样工作:我一直试图弄清楚如何在Node中做这样的事情而不使用提示npm模块.我的尝试是:然而,这种嵌套的方式看起来很奇怪,无论如何我可以做到这一点,而不是像这样嵌套,以获得正确的顺序?解决方法zangw的答案就足够了,但我想我可以说清楚一点:如果你不关心它,那么顺序问两个问题,你可以这样做:

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部