【发布时间】:2019-11-13 16:15:20
【问题描述】:
考虑以下2个函数:一个返回promise对象,一个使用await。它们在幕后的行为是否完全相同?
async function f1 (event) {
const promise = new Promise(function(resolve, reject) {
fetch('https://google.com')
.then(p=>p.status)
});
return promise
}
async function f2 (event) {
const res = await fetch('https://google.com');
return res.status;
}
我相信我也可以这样称呼:
var r1 = await f1(url);
var r2 = await f2(url);
这里的问题: 1.这2个电话正确吗? 2. f1 和 f2 在钩子下,它们的行为和用法完全相同吗?
【问题讨论】:
-
我相信会是
reject(e) -
@Intervalia
behaviour是一个有效的词。 -
对于函数 f1,你真的不需要异步,因为你已经返回了一个 Promise。
-
是的,它们的输出和功能是一样的
标签: javascript node.js