ES6/7 等待异步函数

ES6/7 await for async function

我读到 await 在 promise 未解决时停止执行。我正在尝试在我的 React-native 应用程序中执行以下操作:

static async getFromStorage(key) {
  const value = await AsyncStorage.getItem(key);
  console.log(value);
  return value;
}

console.log(Class.getFromStorage("test"));

但我得到的是以下而不是实际值(Chrome 不允许我复制时间戳...):

那么为什么我的代码不等待解决承诺?

更新

@thedude 建议:

async function waitForStorage() {
   console.log(await getFromStorage());
}
waitForStorage();

这个解决方案的问题我在 class 我想要使用的东西中需要它。但是当我执行 someVar = await getFromStorage() 时,出现 500 错误。我可以等它,因为它是 100 毫秒。

例如:

someVar = await getFromStorage("token");
checkToken(someVar);

代码 运行 console.log 也应该标记为 async 并且它也应该 await return 值 getFromStorage ;

例如这会起作用:

async function waitForStorage() {
   console.log(await getFromStorage());
}
waitForStorage(); // now the console messages should be in the correct order

或者您可以等待 promise 的解决:

getFromStorage("token").then(someVar => checkToken(someVar))