许诺return resolve()和resolve()之间有什么区别?

请阅读以下示例:

返回新承诺((解决、拒绝)=&gt{
fs.readFile(文件,(错误,数据)=&gt{
如果(错误)拒绝(错误)
返回解析(数据)
})
})

但我通常会这样做:

返回新承诺((解析,拒绝)=&gt{
fs.readFile(文件,(错误,数据)=&gt{
如果(错误)拒绝(错误)
解析(数据)
})
})

有区别吗

return resolve()将以正常的return方式结束函数执行,这取决于您的代码流,如果您不希望或不需要在函数中执行更多代码,则使用return退出函数

返回新承诺((解决、拒绝)=&gt{
fs.readFile(文件,(错误,数据)=&gt{
如果(错误)拒绝(错误)
返回解析(数据)
console.log('after return')//将不执行
})
})

只有resolve将创建成功的承诺状态,但在未使用return时,如果存在任何承诺状态,则将执行代码执行

请记住resolve()reject()创建承诺状态,一旦创建了承诺状态,它们就不能更改,。然后。catch处理程序用于进一步执行,
使用return完全取决于您的代码流。如果不想在该块中执行更多代码,则return resolve()

返回新承诺((解决、拒绝)=&gt{
fs.readFile(文件,(错误,数据)=&gt{
如果(错误)拒绝(错误)
解析(数据)
console.log('after return')//将执行
})
})

它与函数中的正常返回语句相同,与承诺无关

发表评论