使用Expo ImageManipulator调整图片尺寸未返回预期结果,原因何在?
Expo ImageManipulator 返回奇怪对象的原因及解决办法
你看到的{"_h": 0, "_i": 0, "_j": null, "_k": null}是未被正确处理的Promise对象,核心问题出在异步操作的调用环节。
直接原因:
resizeImage是异步函数,但你调用它时没有使用await关键字,导致直接返回了未完成的Promise实例,而非处理后的图片结果。
修复示例:
假设你之前的调用代码是这样的:
// 错误写法:未使用await const resizedImg = resizeImage(selectedImage);
需要修改为:
// 正确写法:用await等待异步操作完成 const resizedImg = await resizeImage(selectedImage);
额外排查点:
- 确认传入的
image.uri是有效的本地图片URI(比如从Expo ImagePicker获取的合法路径),无效URI会导致操作失败,但当前错误更偏向Promise未解析。 - 确保已正确安装依赖:执行
npx expo install expo-image-manipulator完成配置。
内容的提问来源于stack exchange,提问作者Emo
相关产品推荐
相关产品推荐

