函数返回的async / await / assignments

问题描述 投票:1回答:1

目前具有简单的功能:

async function getItem(id) {
  const item = await ... doing a bunch of time consuming stuff
  return item;
}

来自同步语言,并且仍然从表面理解异步/等待;我希望以下内容返回已解决的项目:

const item = getItem('items-8');
console.log(item); // Just getting a promise

这个问题有点“美观”,但是async / await解决了回调问题,我希望能够进一步发展,甚至避免那些令人讨厌的东西。

是否可以使用async / awaits获得这样的单行变量赋值?什么是语法/代码结构?

asynchronous async-await es6-promise ecmascript-5
1个回答
1
投票

qazxsw poi是ES6承诺的语法糖,它允许以类似同步的方式编写异步代码。使用promises的代码不能同步,因为promises是异步的。

为了以同步方式编写,使用async..await的代码也应该驻留在getItem函数中。如果它是顶级的并且不驻留在另一个函数中(如应用程序初始化代码),它可以驻留在async IIFE中。

它也是

async

要么

getItem('items-8').then(item => {
  ...
});
© www.soinside.com 2019 - 2024. All rights reserved.