javascript - 如何通过 Promise 传递 FileList
问题描述
我有以下代码。我使用 fileList 变量,它是一个仅包含一个文件的 FileList。然后我通过它
foo(fileList) {
this.props.bar({ fileList })
.then((res) =>
this.props.doSomething({ fileList });
})
}
然后在另一个文件中
doSomething({ fileList }) {
...
}
我的问题是在输入 bar() 之前 fileList 包含一个文件。然后 .then 文件列表内部似乎是空的,导致 doSomething 没有文件。此外,在 bar 承诺完成后,fileList 再次包含该文件。
这是范围问题吗?我该如何解决?
解决方案
所以我发现出了什么问题。我想感谢大家的帮助。
这个 foo 被异步调用。因此,fileList 包含一个用于第一次调用 bar() 的文件,但到调用 doSomething() 时,fileList 实际上在最初调用 foo() 的方法中发生了变化。
推荐阅读
- python - 从不同的目录运行 python 文件,包括 sqlite 数据库
- java - 矩形程序不准确
- css - 旧式数字(“onum”)在 Chrome 中不起作用
- wordpress - Nginx + Pretty 固定链接问题
- labview - LabVIEW中的房屋符号?
- flutter - 在颤动中存储 JWT 令牌的最佳方式是什么?
- unity3d - 播放器控制器在没有输入时不断旋转播放器?
- python - 如何为给定范围 n 对列表中的每个元素进行编号?
- java - 尝试使用 JTar 解压缩时,Mkdir 不起作用
- cocoa - 以编程方式启用(或禁用)应用程序的 AppleScript 支持