定义了一个wx.getFileSystemManager().getFileInfo 函数用于获取图片文件的大小,但是返回值一直是 undefined
问题:
- 按照以下代码,首先真机调试 console.log 输出应该为:00000000000+返回的结果 ,然后才是 2222222222+返回的结果,但是输出结果却恰恰相反?
- 这类api 是异步函数?还没等结果输出,自己先执行了?(通俗的说,getFileInfo函数还没有执行成功或错误代码,前端文件已经自己执行了?)
- 这种正确的写法是什么?怎么改变成 同步执行?
//这个是 公共函数
var pubFunc = {
compressImg: (imgPath,target)=>{
// 获取图片大小
wx.getFileSystemManager().getFileInfo({
filePath: imgPath,
success: (res) => {
console.log("000000000" + res)
return res.size
},
fail:(err)=>{
return "compress error"
}
})
}
}
module.exports={
pubFunc:pubFunc
}
// 这个是前端调用
onLoad(options){
console.log("2222222222" + pub.pubFunc.compressImg(options.imgPath,5))
}
// 真机调试结果:
2222222222 undefined
publicFunc.js:7 000000000[object Object]