我有一个函数,我想this.findLocation()在返回jsonObject之前完成每个循环的第一个.问题是当函数返回jsonObject时,一些findlocation仍未完成的循环.
这是函数的代码:
generate (item) {
let jsonObj = {}
jsonObj.lookup = this.id
this.fields.forEach(field => {
if (field.prop === 'API') {
this.findLocation(item, field).then(function (value) {
let location = value
if (location) jsonObj[field.prop] = location.id
})
} else {
jsonObj[field.prop] = item[field.header]
}
})
return jsonObj
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将是欣赏.
我正在使用来自support.v7库的RecyclerView在购物清单上显示商品。
当我滚动到数据末尾时,我无法在最后一项的右侧看到价格。
我想在滚动到最后一个项目后添加一些空间,以免按钮覆盖它。
这是带有RecyclerView和FAB的应用程序的图像:

我可以简单地将一个空对象添加到适配器的列表中,但是在这种情况下,它的行为将与其余行类似(它将具有复选框,并在右侧显示价格00.00)。
还有另一种方法吗?
我的代码:
private void CreateAnimatedGif(List<string> GifsFilesRadar , List<string> GifsFilesSatellite)//string FileName1 , string FileName2)
{
Bitmap bitmap = null;
DirectoryInfo inf = new DirectoryInfo(tempGifFiles);
FileInfo[] fi = inf.GetFiles("*.gif");
for (int i = 0; i < fi.Length; i++)
{
Bitmap file1 = new Bitmap(GifsFilesRadar[i]);
Bitmap file2 = new Bitmap(GifsFilesSatellite[i]);
//calculate the new width proportionally to the new height it will have
int newWidth = file1.Width + file1.Width / (file2.Height / (file2.Height - file1.Height));
bitmap = new Bitmap(newWidth + file2.Width, Math.Max(file1.Height, file2.Height));
using (Graphics …Run Code Online (Sandbox Code Playgroud) 我有一个页面,里面有一个componentDidMount(). 我们有 API 调用,但是如果您在这些调用解决之前离开,则会收到 React 错误。您不能setState在未安装的组件上。因此,出于这个原因,我使用 AxioscancelToken来取消componentWillUnmount(). 它正在工作并且 API 调用正在被取消。
但是,如果您离开,然后返回同一页面,我会发现这些 API 调用仍然被取消并且没有得到解决。也许我实施的cancelToken方式错误,或者有没有办法“取消”这些调用?
这是codesandbox: axios cancelToken示例
android ×1
asynchronous ×1
axios ×1
c# ×1
es6-promise ×1
javascript ×1
reactjs ×1
request ×1
vuejs2 ×1