1. 程式人生 > 其它 >js JavaScript 封裝非同步函式並被呼叫

js JavaScript 封裝非同步函式並被呼叫

案例:檔案上傳前解析出json作為函式被呼叫

最初樣子

大佬指點

promise

       function parseJson(file) {
            return new Promise(
                (resolve, reject) => {
                    const reader = new FileReader();
                    reader.addEventListener('load', function(ev) {
                        
try { const obj = JSON.parse(ev.target.result); resolve(obj) } catch (error) { reject(error) } }) reader.readAsText(file) } ) } async
function toParse(target) { const data = await parseJson(target.files[0]); console.log(data) }

回撥函式,

// util.js

export function getBase64 (img, callback) {
  console.log('getBase64', img)
  const reader = new FileReader()
  reader.addEventListener('load', (e) => {
    callback(reader.result)
  })
  reader.readAsDataURL(img)
}


handleChange (info) {
    
// 得到blob格式資料 上傳 getBase64(item.originFileObj, (result) => { __this.fileBlobObj[item.name] = dataURLtoBlobs(result) __this.postImage(item) }) }