我正在看https://guides.codepath.com/nodejs/Control-flow#1-introduction:
// Consuming a promise API
let promise = fs.promise.readFile(__filename)
promise.then(result => {}, err => {})
// Returning promises
readFile(name) {
return fs.promise.readFile(path.join(__dirname, name))
}
关于:
fs.promise.readFile
我熟悉fs.readfile(https://nodejs.org/api/fs.html#fs_fs_readfile_path_options_callback),但是将promise插入预先存在的函数有哪些规则。
将承诺插入到现有功能中的规则是什么
您可以在任何函数中使用基于承诺的逻辑。本身没有特定的“规则”。但是,如果您希望调用者知道基于诺言的异步操作何时完成或有错误,则必须从函数中返回诺言,以便调用者可以使用.then()
并.catch()
访问完成,结果或错误。
async
函数是一种特殊的函数类型,它总是返回承诺,并允许您await
在函数内部使用以简化带有承诺的编程。
在问题中的代码示例中fs.promises.readFile
,不是fs.promise.readFile
。fs.promises
具有许多fs
模块函数的新版本,这些函数返回承诺而不是使用简单的回调。
您的代码示例应为:
// Returning promises
readFile(name) {
return fs.promises.readFile(path.join(__dirname, name))
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句