返回没有$$状态的变量的承诺

时间:2017-12-23 00:32:37

标签: javascript ecmascript-6 promise

我有以下承诺

import matplotlib.pyplot as plt

# evenly sampled time at 200ms intervals
t = np.arange(0., 5., 0.2)

# red dashes, blue squares and green triangles
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')

plt.savefig('test-image-2.png', format='png', dpi=1200)

plt.show()

我希望实现的目的是将let oembedData = oembed(uuid) .then(res => res); console.log(oembedData); 返回res,以便可以使用该值。

我知道我能做到

oembedData

但我觉得这种方式并不像前一个例子那样干净。

当我使用前者时,我的控制台日志返回let oembedData; oembed(uuid) .then((res) => { oembedData = res; console.log(oembedData); });

1 个答案:

答案 0 :(得分:2)

如果您可以自由使用async/await,那么它看起来几乎就像您一样。

async function oembed(uuid) {
  return new Promise(resolve => setTimeout(() => {
    resolve('foo');
  }, 3000));
}

async function getOembed() {
  try {
      const oembedData = await oembed('1234');
      console.log(oembedData);
  } catch(err) {
      handleError(err);
  }
}

getOembed();