You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

35 lines
874 B

const defaultOpts = {
message: "",
res: {},
err: false,
get isSuccess() {
return !![0,1][~~(Math.random()*2)]
},
get duration() {
return ~~(Math.random()*3000+500)
}
}
export default function http(opts) {
let realOpts = {}
Object.keys(defaultOpts).forEach(v => {
if (opts&&opts[v] != undefined) {
realOpts[v] = opts[v]
} else {
realOpts[v] = defaultOpts[v]
}
})
console.log('请等待'+realOpts.duration/1000+'s')
return new Promise((resolve, reject) => {
setTimeout(() => {
if(realOpts.err){
reject(new Error("diy message"));
}
if(realOpts.isSuccess){
resolve({code: 1, message:realOpts.message, data: realOpts.res})
}else{
reject({code: 0,message:realOpts.message, data: realOpts.res})
}
}, realOpts.duration)
})
}