0

我正在用离子构建一个应用程序。我有这个函数声明:

function calculate(origin, destination, mode, transitOptions, alternatives, onMap) {

  var request = buildRequest(arguments);

  var validationResult = validate(request);
  var deferred = $q.defer();
  .....

在 android 模拟器上使用 chrome 检查器进行调试时,我得到了这个:

正确的

在 iphone 模拟器上进行的相同调用并使用 safari 进行调试会导致:

很奇怪?

当然,代码会中断。有没有人见过这样的事情?

4

1 回答 1

0

我以前从未见过这种情况。看起来arguments正在与暂停执行的调用帧不同的调用帧上进行评估。根据 的值arguments[1],看起来它正在 Web Inspector 实现内部的调用框架中进行评估。

通常,在暂停时在控制台上评估将评估当前选定调用框架范围内的表达式。但是,在您的第二个屏幕截图中,您省略了 Scope Chain 侧边栏,所以我无法确定当前调用框架是什么。

包含您正在运行的软件的版本号(Safari、iOS 模拟器)也将有所帮助。您能否在最近的Safari 技术预览版中重现此问题?

于 2016-05-26T04:09:46.293 回答