首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在代码之后执行Figlet,这应该在前面执行。

在代码之后执行Figlet,这应该在前面执行。
EN

Stack Overflow用户
提问于 2022-03-24 16:54:15
回答 1查看 118关注 0票数 0

我有一些CLI的基本代码:

代码语言:javascript
复制
#!/usr/bin/env node

import chalk from "chalk"
import inquirer from "inquirer"
import gradient from "gradient-string"
import figlet from "figlet"
import { createSpinner } from "nanospinner"

const sleep = (ms = 2000) => new Promise((r) => setTimeout(r, ms))

async function intro() {
  await figlet("Inkwell CLI", (err, data) => {
    console.log(gradient.mind.multiline(data))
  })
}

await intro().then(() => {
  console.log("XD")
})

当我执行它时,我得到了这样的信息:(https://i.stack.imgur.com/6DPsL.png)如何解决这个问题?

我试着比做剩下的代码更早地使用console.log编程。

EN

回答 1

Stack Overflow用户

发布于 2022-05-21 14:48:09

这是因为figlet是在内部执行异步的。所以你得等一段时间才能完成小雕像。睡眠()应该有助于实现这一目标。因此,您可以调用last ()作为intro()的最后一行。您可能需要通过尝试和错误来调整等待时间。

代码语言:javascript
复制
async function intro() {
  await figlet("Inkwell CLI", (err, data) => {
    console.log(gradient.mind.multiline(data))
  })
  sleep()
}

您还可以利用AbortController来指示何时确切地从睡眠中休息。

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

https://stackoverflow.com/questions/71606445

复制
相关文章

相似问题

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