这行得通吗?我猜该.translate
函数返回一个Translate
实例。您需要该text
属性才能获得String
下面的代码是错误的!
Future<String> translate(String input) async {
final translator = GoogleTranslator();
var result;
var translation = await translator
.translate(input, to: 'tr')
.then((value) => {result = value});
return result.text;
}
此外,您使用then
子句并将翻译结果输入到,value
因此在这种情况下您不需要使用await
和设置 var translation
。或者您可以使用await
和删除then
. 但是你不应该同时使用await
和then
用于同一个异步方法。
所以应该使用下面的代码:
Future<String> translate(String input) async {
final translator = GoogleTranslator();
var translation = await translator
.translate(input, to: 'tr');
return translation.text;
}