gpt4 book ai didi

JavaScript 同步方法

转载 作者:行者123 更新时间:2023-11-28 11:42:45 26 4
gpt4 key购买 nike

我正在开发一个简单的网络应用程序,它使用 Google 翻译 API 将文本翻译成不同的语言,然后再翻译回第一种语言。

问题是,当我调用 google.language.translate(...) 时,指定了一个回调函数来更新页面中的文本区域。这里:

while (i < translationNumber) {
google.language.translate(testua, languages[i] , languages[i+1],
function(result) {
if (result.translation) {
text = result.translation;
f.textarea1.value = text;
}
});

alert('You must not close this until translation is done');
i++;
}

如您所见,需要发出警报才能手动等待翻译结束,以便按照我的语言数组的顺序正确翻译,否则多个翻译调用将挂起并且顺序会中断。如果我可以在 java 或 C 中使用某种信号量,那就太好了,但是我是 Javascript 的新手,我不知道如何做到这一点。

最佳答案

您可以将其设为一个函数,该函数将在完成时调用自身

function translate(i) {
google.language.translate(testua, languages[i], languages[i+1], function(result) {
if (result.translation) {
text = result.translation;
f.textarea1.value = text;
if (i < translationNumber) { translate(i++); }
}
}
}

这样,只有在翻译回调后才会实例化下一个翻译。

编辑:您唯一需要添加的是检查,看看i是否达到了所需的值,所以它不会永远持续下去( :

关于JavaScript 同步方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1135988/

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