首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >inquirer.js -将BottomBar与顺序日志相结合

inquirer.js -将BottomBar与顺序日志相结合
EN

Stack Overflow用户
提问于 2017-01-22 21:40:16
回答 1查看 1.2K关注 0票数 1

我正在使用inquirer.js编写Node CLI命令,这可能需要相当长的时间才能完成,所以我正在尝试更新UI,如下所示:

代码语言:javascript
复制
✓ Thing A complete
✓ Thing B complete
✓ Thing C complete
⠹ Loading...

{display json result}

(其中“正在加载...”留在底部,日志在它们完成时出现)。

简化后,该命令的结构如下:

代码语言:javascript
复制
ui.startLoader()
thingA()
  .then((res) => {
    ui.log('✓ Thing A complete')
    return res
  })
  .then((res) => {
    return res.reduce(thingB, Promise.resolve())
  })
  .then((res) => {
    ui.log('✓ Thing B complete')
    return res
  })
  .then((res) => {
    return res.reduce(thingC, Promise.resolve())
  })
  .then((res) => {
    ui.log('✓ Thing C complete')
    return res
  })
  .then(ui.json)
  .catch(console.log)
  .then(ui.exit)

ui.startloader只需按照官方example中的描述设置BottomBar,并且看起来运行良好。

ui.logconsole.log('\n' . text)时,我的输出为:

代码语言:javascript
复制
⠋ Loading...
✓ Thing A complete
⠹ Loading...
✓ Thing B complete
⠴ Loading...
✓ Thing C complete

{display json result}

ui.log是inquirer.js的BottomBar.log.write(text)时,我的输出是:

代码语言:javascript
复制
✓ Thing A complete
⠹ Loading...

{display json result}

“正在加载...”行保留在底部,但只显示第一个日志。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-23 20:36:25

这似乎是Inquirer.js中的一个问题。当我从0.12.0升级到更新的基于ES6 Promise的界面时,我遇到了这个问题。

我已经打开了一个问题:https://github.com/SBoudrias/Inquirer.js/issues/485

并放入修复的拉取请求:https://github.com/SBoudrias/Inquirer.js/pull/486

希望它能被接受。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41791589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档