我有一些CLI的基本代码:
#!/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编程。
发布于 2022-05-21 14:48:09
这是因为figlet是在内部执行异步的。所以你得等一段时间才能完成小雕像。睡眠()应该有助于实现这一目标。因此,您可以调用last ()作为intro()的最后一行。您可能需要通过尝试和错误来调整等待时间。
async function intro() {
await figlet("Inkwell CLI", (err, data) => {
console.log(gradient.mind.multiline(data))
})
sleep()
}您还可以利用AbortController来指示何时确切地从睡眠中休息。
https://stackoverflow.com/questions/71606445
复制相似问题