我有以下承诺
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);
});
答案 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();