【发布时间】:2010-11-11 06:45:47
【问题描述】:
我正在开发一个简单的网络应用程序,它使用 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 的新手,我不知道如何做到这一点。
【问题讨论】:
-
是否要根据数组顺序更新文本区域?
-
我想删除该警报并使 google translate 函数调用阻塞或同步,以便连续完成翻译,否则它执行循环,然后我收到翻译但不是顺序的,只是将原文翻译成不同的语言。
标签: javascript api synchronization