Javascript 用Promise包装的Return fetch与Return fetch相同吗? 背景
我开始在一家没有很多模式的公司工作,我从两个方面看到Javascript 用Promise包装的Return fetch与Return fetch相同吗? 背景,javascript,promise,Javascript,Promise,我开始在一家没有很多模式的公司工作,我从两个方面看到fetch调用的返回。一个只返回fetch调用,另一个使用resolve和reject返回由Promise包装的fetch调用,这让我感到困惑 问题: 他在做这件事吗 const returnFetchWrappedByPromise = () => { return new Promise((resolve, reject) => { return fetch("url") .the
fetch
调用的返回。一个只返回fetch
调用,另一个使用resolve
和reject
返回由Promise
包装的fetch
调用,这让我感到困惑
问题:
他在做这件事吗
const returnFetchWrappedByPromise = () => {
return new Promise((resolve, reject) => {
return fetch("url")
.then(resolve(true))
.catch(reject(false))
})
}
和这个一样
const returnFetch = () => {
return fetch("url")
.then(() => true)
.catch(() => false)
}
?
如果没有,有什么区别
如果是,我应该使用哪一个
观察:我使用
true
和false
只是为了举例,但实际上,这是一些结果和一些错误。fetch
固有地返回一个承诺,因此将其包装在新承诺中不会添加任何功能。在这种情况下,async
的使用也没有添加任何内容,实际上是一个示例
第二个函数语法是首选方法。不需要returnFetchWrappedByPromise
函数中的新Promise
对象fetch
已返回一个Promise
对象(下面的屏幕截图)。您应该使用returnFetch
功能。希望有帮助
这些应该是回调:然后(()=>true,()=>false)
不是很多模式,而是一些反模式:!当然,要避免这种情况!应该很容易测试。运行并查看(记住@Bergi的评论)。@Bergi感谢相关帖子,这让我更好地理解了承诺的工作原理。