Commit 291ca344 by xiexiaoqin

add lock retry

parent cc85248f
let lock = false; let lock = false;
export async function login(data) { export async function login(data) {
if (lock == true) { if (lock == true) {
await sleep(1000); await waitLockRelease(20);
return Promise.resolve(); return Promise.resolve();
} }
lock = true; lock = true;
...@@ -19,6 +19,7 @@ export async function login(data) { ...@@ -19,6 +19,7 @@ export async function login(data) {
dataType: 'json', dataType: 'json',
success: function (res) { success: function (res) {
const { oapiUser } = res.data.data; const { oapiUser } = res.data.data;
getApp().globalData.token = res.data.data.accessToken.access_token; getApp().globalData.token = res.data.data.accessToken.access_token;
// getApp().globalData.token = 'd2563d3a-7723-4f76-ad04-005815893328'; // getApp().globalData.token = 'd2563d3a-7723-4f76-ad04-005815893328';
...@@ -31,7 +32,6 @@ export async function login(data) { ...@@ -31,7 +32,6 @@ export async function login(data) {
headUrl: oapiUser.avatar, headUrl: oapiUser.avatar,
platform: "dingtalk" platform: "dingtalk"
}); });
lock = false; lock = false;
resolve(res) resolve(res)
}, },
...@@ -50,6 +50,16 @@ export async function login(data) { ...@@ -50,6 +50,16 @@ export async function login(data) {
}) })
} }
async function waitLockRelease(retry) {
for (let i = 0; i < retry; i++) {
if (lock == false) {
console.log(i);
return;
}
await sleep(100);
}
}
function sleep(time) { function sleep(time) {
return new Promise(resolve => { return new Promise(resolve => {
setTimeout(resolve, time); setTimeout(resolve, time);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment