gpt4 book ai didi

javascript - Node.js 中的多个函数

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

我有这么一大多功能:

 function trans() {
var credentials = {
clientId: 'TurboFanTrans',
/* Client ID from the registered app */
clientSecret: 'Gkqa2Ru37DeHAfR4AdH/sj94J5Ge1S8Ad7Spp89MMIs=' /* Client Secret from the registered app */
};

translator.detect(credentials, text, detectCb);

function detectCb(err, from) {
if (err) {
sendMain('error', err);
return;
}

translator.translate(credentials, text, from, lang, translateCb);
}

function translateCb(err, translated) {
if (err) {
sendMain('error', err);
return;
}

console.log(text + lang + "=>" + translated);
}

}

假设所有内容都已声明,因为它具有多功能性,所以当我调用 trans() 时我做错了什么,这里是代码片段:

case 'translate':
text += args[1];
lang += args[2];
trans();
text = "";
lang = "";
break;

当调用时,由于一切都困惑了,textlang返回为空字符串(它们最初是)。你们中有人能帮我解决这个问题吗?无论是在代码中还是在我的大脑中?最终结果应该是 text 的翻译文本,采用 lang 中任何语言的语言。提前致谢!

最佳答案

原因是 trans() 立即返回,因为它不会阻塞——它执行异步请求。因此,text = "";lang = "";trans() 中的回调之前执行。

一个简单的解决方案是不使用“全局”值并传入值:

case 'translate':
text += args[1];
lang += args[2];
trans(text, lang);
text = "";
lang = "";
break;

然后更改:

function trans() {

至:

function trans(text, lang) {

这些局部变量将遮蔽“全局变量”。

关于javascript - Node.js 中的多个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27238973/

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