gpt4 book ai didi

javascript - 在提示之间传递数据

转载 作者:行者123 更新时间:2023-12-03 04:19:11 25 4
gpt4 key购买 nike

我可以在 yeoman 中的两个提示之间传递数据吗?

例如,我有两个提示,例如

{
type: 'input',
name: 'Name',
message: 'Name?'
},{
type: 'input',
name: 'package',
message: 'Package?',
default: 'org.my.app.'+<prompt.name>
}

我想将 name 属性显示为包的默认值?我能想到的一种方法是:

  • 默认显示模板(如示例所示)
  • 稍后在为用户创建最终模板时更改该值。

我尝试的另一种方法是使用 when

{
type: 'input',
name: 'Name',
message: 'Name?'
},{
when: (response) => {
this.testValue = response.Name
return true
},
type: 'input',
name: 'package',
message: 'Package?',
default: 'org.my.app.'+this.testValue
}

但即使函数内部的值已存储在 this.testValue

中,它也会给出 undefined

还有什么更好的办法吗?

最佳答案

我终于找到答案了。实现它的方法是使用两个提示变量并在第一个 Promise 返回后运行第二个变量

const prompt1 = [{
type: 'input',
name: 'Name',
message: 'Name?'
}];

return this.prompt(prompt1).then(props => {
const prompt2 = [{
type: 'input',
name: 'package',
message: 'Package?',
default: 'org.my.app.'+props.name
}];

return this.prompt(prompt2).then(props => {
//code goes here
});
});

关于javascript - 在提示之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44020490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com