await 包裝器
/**
* await 包裝函數
* @return {Array} 包裝結果的數組
* @param promise {Promise} promise對象
* */
const awaitWrapper = promise => {
return promise.then(result => [null, result]).catch(error => [error, null])
}
demo
const [bufferError, buffer] = await awaitWrapper(getFileBuffer(url))
/*
* 捕獲結果 返回值為數組,
* 數組的第一個元素為error,
* 當promise函數resolve的時候為空,
* 第二個元素為success result,
* 當promise函數reject的時候為空
*/
if (bufferError) return bufferError
// 其他操作