javascript - 嵌套函数参数从何而来?
问题描述
在下面的代码中,参数chapters
是从哪里来的?同样的问题error
,它来自哪里?我会说它们是从函数传递过来的getChapters()
,还有error
,但我怎么知道呢?我如何从调试器中看到getChapters
返回的值是什么?
player.getChapters().then(function(chapters) {
// chapters = an array of chapters objects
}).catch(function(error) {
// error
});
解决方案
getChapters()
返回一个承诺。当 Promise 解决或拒绝时,将传递一个值,.then
然后.catch
回调接收:
new Promise(function(resolve, reject) {
resolve("this value goes in");
}).then(function(value) {
// value === "this value goes in"
})
从调试器中,getChapters()
执行时您无法知道这些值,因为通常resolve
稍后会调用,因此该值尚不知道,并且返回值是待处理的 Promise。但是,当您在回调中放置断点时,您可以看到chapters
并且您还会在 Promise 的内部插槽之一中找到该值。
推荐阅读
- python - 单击按钮后更改标签的文本
- dart - 语言上的一些错误
- c++ - 我想知道如何实现 + 运算符重载。我已经从我的上一个问题中得到了 += 运算符重载
- android - NavigationView 应用程序在 androidx 后挂起并停止响应
- laravel - hasFile 为假(上传文件) Laravel 5.8/Angular 7
- c# - 此代码会在许多按钮鼠标上读取鼠标按钮 X 吗?
- android - 位图无法在 imageView 中设置图像
- reactjs - React-Select 搜索输入 - 土耳其小写“i”字符无法获得以“İ”开头的结果(单词)
- c# - 相机跟随世界空间画布得到奇怪的结果?
- javascript - vm.runInContext:为什么这个函数不能访问一个应该在上下文中的全局对象?