await以外的函数:返回错误无法使用关键字await 请帮帮我...
I18n.defaultLocale = 'tr'
await AsyncStorage.getItem('locale').then((value) => {
I18n.locale = value
}).done();
I18n.fallbacks = true;
I18n.translations = { en, tr };
const currentLocale = I18n.currentLocale();
export function strings(name, params = {}) {
return I18n.t(name, params);
};
export default I18n;
答案 0 :(得分:0)
async
函数可以包含一个await
表达式,该表达式暂停async
函数的执行并等待通过的Promise解析,然后恢复异步函数的执行并返回已解析的值。
请记住,
await
关键字仅在async
函数内部有效。 如果您在async
函数主体之外使用它,则会得到一个 语法错误。
使用then
时不需要使用async/await
有关更多详细信息,请参见async function on MDN Web docs
答案 1 :(得分:0)
您必须使用await / async做类似的事情:
var getItem = async function() {
// await can be used here
await AsyncStorage.getItem('locale').then((value) => {
I18n.locale = value
}).done();
}
并这样称呼它:
getItem(); // sync
或
await getItem(); // in another async function
编辑:与异步功能相比,使用异步功能可以“执行相同的操作”。只是await
需要特殊包装。