小编mat*_*nfu的帖子

JavaScript回调错误处理

验证参数并返回函数中的错误是很常见的.

但是,在JavaScript回调函数中,例如:

function myFunction(num, callback) {
  if (typeof num !== 'number') return callback(new Error('invalid num'))
  // do something else asynchronously and callback(null, result)
}
Run Code Online (Sandbox Code Playgroud)

我写了很多像这样的函数,但我想知道是否存在可能有害的东西.因为在大多数情况下,调用者假定这是一个异步函数,并且回调将在函数调用之后的代码之后执行.但是如果某些参数无效,该函数将立即调用回调.因此调用者必须小心处理这种情况,即一个意外的执行序列.

我想听听有关这个问题的一些建议.我应该仔细假设所有异步回调都可以立即执行吗?或者我应该使用类似setTimeout(...,0)的东西将同步事物转换为异步事物.或者有一个我不知道的更好的解决方案.谢谢.

javascript error-handling callback

10
推荐指数
1
解决办法
2万
查看次数

如何检查 JavaScript 绑定函数

有什么方法可以检查 JavaScript 绑定函数吗?

我想从函数返回绑定函数,并在单元测试中断言绑定函数的目标、boundThis 和boundArgs。它们似乎在 ECMAScript 中被定义为内部对象,无法在程序中访问。

有什么办法可以访问它们吗?或者也许有些有类似需求的人已经编写了一些模块修补 Function.prototype.bind() ?

javascript

5
推荐指数
1
解决办法
895
查看次数

标签 统计

javascript ×2

callback ×1

error-handling ×1