gpt4 book ai didi

javascript - 在 vorpal Action 期间调用另一个函数

转载 作者:行者123 更新时间:2023-12-03 03:43:40 24 4
gpt4 key购买 nike

我刚刚开始使用 Vorpal.js 来帮助构建一个 CLI 工具,该工具最终将针对 API 端点执行 HTTP 请求。

我让它提出问题并验证数据输入,但是一旦我有了输入,我就会让卢布调用另一个方法,该方法根据请求的答案收缩端点 URL。

这是我的代码:

    function apiEndpoint (env) {
if (env === 'INT') {
return API_ENDPOINT_INT;
} else if (env === 'TEST') {
return API_ENDPOINT_TEST;
} else if (env === 'LIVE') {
return API_ENDPOINT_LIVE
}
}

function constructRequestURL (params) {
let API_ENDPOINT = apiEndpoint(params.env);

let requestURL = `${API_GATEWAY}${API_ENDPOINT}?asset_uri=${params.asset_uri}&${site_name}&${asset_type}&${event_type}`

return requestURL;
}

vorpal
.command('render')
.option('--dave')
.action(function (args, cb) {
const self = this;
this.prompt(questions)
.then (function (result) {
// self.log(`Okay, here are you answers ${JSON.stringify(result)}`);
let requestURL = constructRequestURL(result);
self.log(`Request URL: ${requestURL}`);
cb();
})
})


vorpal
.delimiter('AMP ReRenderer$')
.show();

此注释行有效

//   self.log(`Okay, here are you answers ${JSON.stringify(result)}`);

然而,当调用 constructUrl 函数时,什么也没有发生,而 cli 工具就简单地存在了。

我猜这可能是范围问题?

最佳答案

没有。它可能正在默默地失败。始终确保您catch兑现您的 promise 。

vorpal
.command('render')
.option('--dave')
.action(function (args, cb) {
const self = this;
this.prompt(questions)
.then (function (result) {
// self.log(`Okay, here are you answers ${JSON.stringify(result)}`);
let requestURL = constructRequestURL(result);
self.log(`Request URL: ${requestURL}`);
cb();
}).catch(err => {
self.log(err);
cb();
});
})

关于javascript - 在 vorpal Action 期间调用另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45510358/

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