const api = {
f1(){},
f2(){},
f3(){}
}
// const f1 = async () => {
// const data = await api.f1()
// // .....一些数据处理
// return Promise.resolve()
// }
// const f2 = async () => {
// const data = await api.f2()
// // .....一些数据处理
// return Promise.resolve()
// }
// const f3 = async () => {
// const data = await api.f3()
// // .....一些数据处理
// return Promise.resolve()
// }
// const fn = Promise.resolve(f1())
// .then(() => f2)
// .then(() => f3())
// .catch(err => {
// console.log('err', err)
// })
function handleSyncFn(arr) {
if (!arr.length) {
throw new Error('请传入一个数组')
}
let str = `Promise.resolve(${arr[0]()})`
arr.forEach((item, index) => {
if (index > 0) {
str += `.then(()=>(${item})())`
}
})
str += `.catch(err => {console.log(err, 'error')})`
eval(str)
}
handleSyncFn([f1, f2, f3])
// const f1 = () => {
// console.log('f1')
// }
// const f2 = () => {
// console.log('f2')
// }
// const f3 = () => {
// throw new Error('hahahah')
// console.log('f3')
// }
console