Javascript 如何在node.js google translate api中返回翻译文本

Javascript 如何在node.js google translate api中返回翻译文本,javascript,node.js,google-api,node-modules,Javascript,Node.js,Google Api,Node Modules,大家好,我想传递一个变量到谷歌翻译api翻译函数。我该怎么做呢 translate(txt, {from: 'en', to: 'ja'}).then(res => { var translated=res.text; return translated; }); consol.log(translated); 但是我得到的结果未定义请告诉我如何返回翻译文本您试图将“translated”变量记录在错误的范围内。您应该将console.log函数移到回调方法中(我的意思是移到“t

大家好,我想传递一个变量到谷歌翻译api翻译函数。我该怎么做呢

translate(txt, {from: 'en', to: 'ja'}).then(res => {
  var translated=res.text;
  return translated;
});
consol.log(translated);
但是我得到的结果未定义请告诉我如何返回翻译文本

您试图将“translated”变量记录在错误的范围内。您应该将console.log函数移到回调方法中(我的意思是移到“then”函数中)

但是如果您想使用函数外的转换值,可以使用“wait”(更多信息:)


用函数包装translate调用,并将回调传递给外部函数

callTranslate(txt, fn) {
    translate(txt, {from: 'en', to: 'ja'}).then(res => {
      fn(res.text);
    });
}
现在,无论何时您必须调用translate API,都可以像这样执行:

callTranslate('yourText', (translated) => { console.log(translated); })
// add any logic in the callback itself if you want to further process the result

你能告诉我怎样才能从中得到译文的价值吗function@Afzaltranslate函数是异步的,所以可以使用“wait”关键字。我在我的回答中添加了另一个代码段。Sercan ozen还有一个问题。是的,当然,你可以问我可以将变量传递给谁。然后函数意味着如何获取要翻译的原始文本。然后函数。in-for循环转换函数获取数组的随机索引值,然后进行转换。我想得到翻译文本和被翻译文本。然后函数。上述函数只执行一次,但不在for循环中。在我们传递要转换的For循环txt中,只获取数组的最后一个索引值
callTranslate(txt, fn) {
    translate(txt, {from: 'en', to: 'ja'}).then(res => {
      fn(res.text);
    });
}
callTranslate('yourText', (translated) => { console.log(translated); })
// add any logic in the callback itself if you want to further process the result