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
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)
|
|
})
|
|
}
|
|
|