아래 코드는 내 텍스트를 독일어 언어로 번역하고 번역 한 후에 할당하려고합니다. 그러나 빈 문자열을 얻는다면 도움을 주시고 제가 실수를하고있는 동안 아래 코드를 실행하십시오. 실행 후 translatedString 내가 번역 함수 외부 translatedString을 사용하려면JavaScript에서 변수를 할당 할 수 없습니다.
"안녕 무형 문화 유산 리베 독일 Sprache"와 같은 결과를 가지고 있어야 있도록
이 잘못되면 내 코드를 코드와 보정 솔루션을 나에게주세요 그래서 결과는 세계 일 것이다.
// working with string translation
const translate = require('google-translate-api');
var myString = "Hello I love German language";
console.log("My String is "+ myString);
// result is My String is Hello I love German language
var translatedString = translate(myString, {to: 'de'})
.then(res => {translatedString = res.text});
console.log("Translated String is "+ JSON.stringify(translatedString));
// result is Translated String is {}
// expected result is Translated String is Hallo ich liebe deutsche Sprache
내가 번역 함수 외부 translatedString를 사용하려는
async
함수 내에서 다음 줄에Promise
의 값을 얻을 수Promise
체인 또는async/await
옆.then()
에Promise
값을return
하는.then()
을 사용할 수 있도록 result shout global –약속이 해결되기 전에 translatedString을 사용할 수 없습니다. 해결할 약속을 기다리려면 코드를 .then 블록에 넣으십시오. .then 블록 밖에 * 넣은 모든 코드는 약속을 기다리지 않으므로 translatedString을 사용할 수 없습니다. –
translatedString이 준비 될 때까지 기다렸다가 코드를 할당하여 코드를 리팩터링 할 수있는 방법이 있습니다. 번역 기능을 사용하지 않고 전역으로 사용할 수 있습니다. –