【发布时间】:2016-01-08 18:33:09
【问题描述】:
在此代码中,我在 for 循环中将单个单词发送到谷歌翻译,并尝试将来自谷歌翻译 API 的翻译响应与原始单词配对。不过,我在做的过程中来学习异步和同步的区别!
现在的问题是要以某种方式继续利用异步 AJAX 调用的效率,但要以某种方式以我将它们发送到谷歌翻译的原始顺序捕获翻译。
for (word in original_text) {
$.ajax({
type: "GET",
url: "https://www.googleapis.com/language/translate/v2?",
data: {key: my_Key, source: "en", target: "es", q: original_text[word]},
dataType: 'json',
success: function (result, status, xhr) {
translated.push(result.data.translations[0].translatedText);
alert(translated);
if (translated.length === original_text.length) {
var merged = {};
for (word in original_text) {
merged[original_text[word]] = translated[word];
}
dfrd.resolve(JSON.stringify(merged));
}
},
error: function (xhr, status, errorMsg) {
alert(xhr.status + "::" + xhr.statusText + "::" + xhr.responseText);
}
});
【问题讨论】:
-
stackoverflow.com/questions/750486/… 我相信这是你现在的问题
标签: javascript jquery ajax asynchronous google-translate