【发布时间】:2021-01-14 12:48:59
【问题描述】:
我想在为每张图片发送事件的同时并行上传图片
但是Future.await对我不起作用,不知道有什么解决办法?
我的代码示例
final proofs = _assetsMap.values.toList();
var isUploadedAll = true;
final waitingToBeUploaded =
proofs.where((proof) => proof.mode == ThumbnailStatus.uploading);
for (final proof in waitingToBeUploaded) {
final uploaded = await shipmentFacade.uploadDeliveryProof(
asset: proof.asset,
);
yield uploaded.fold(
(failure) {
isUploadedAll = false;
_updateProof(proof.asset, ThumbnailStatus.failed);
return state.copyWith(
proofs: _assetsMap.values.toList(),
);
},
(proofDocument) {
_updateProof(proof.asset, ThumbnailStatus.uploaded);
return state.copyWith(
proofs: _assetsMap.values.toList(),
);
},
);
}
yield state.copyWith(
proofs: _assetsMap.values.toList(),
isUploading: false,
hasUploadSuccess: isUploadedAll,
hasUploadFailed: !isUploadedAll,
);
【问题讨论】: