我正在编写一个JavaScript函数,该函数发出HTTP请求并返回对结果的承诺(但该问题同样适用于基于回调的实现)。
如果我立即知道为该函数提供的参数无效,该函数应该throw同步还是应该返回被拒绝的Promise(或者,如果您愿意,请使用Error实例调用回调)?
异步功能应始终以异步方式运行(特别是对于错误情况)有多重要?是否确定throw,如果你知道程序是不是一个合适的状态的异步操作继续进行?
例如:
function getUserById(userId, cb) {
if (userId !== parseInt(userId)) {
throw new Error('userId is not valid')
}
// make async call
}
// OR...
function getUserById(userId, cb) {
if (userId !== parseInt(userId)) {
return cb(new Error('userId is not valid'))
}
// make async call
}
幕布斯6054654
MMMHUHU
扬帆大鱼
相关分类