Skip to content

Commit 8769342

Browse files
wangxiaoleeyeh
authored andcommitted
Do not use router if not cn region. (#315)
* Do not use router if not cn region. * codereview fix
1 parent 130d344 commit 8769342

File tree

2 files changed

+28
-20
lines changed

2 files changed

+28
-20
lines changed

demo/test-es6.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@
88

99
'use strict';
1010

11-
let global = global || window;
12-
let AV = global.AV || {};
11+
let av;
1312

1413
// 检测是否在 Nodejs 环境下运行
1514
if (typeof(process) !== 'undefined' && process.versions && process.versions.node) {
16-
AV = require('../dist/node/av');
15+
av = require('../dist/node/av');
16+
} else {
17+
av = window.AV;
1718
}
1819

1920
// 初始化
@@ -25,10 +26,10 @@ const region = 'cn';
2526
// const appKey = 'be2YmUduiuEnCB2VR9bLRnnV';
2627
// const region = 'us';
2728

28-
AV.init({ appId, appKey, region });
29+
av.init({ appId, appKey, region });
2930

3031
// 基本存储
31-
const TestClass = AV.Object.extend('TestClass');
32+
const TestClass = av.Object.extend('TestClass');
3233
const testObj = new TestClass();
3334
testObj.set({
3435
name: 'hjiang',
@@ -44,7 +45,7 @@ testObj.save().then(() => {
4445

4546
// 存储文件
4647
const base64 = 'd29ya2luZyBhdCBhdm9zY2xvdWQgaXMgZ3JlYXQh';
47-
const file = new AV.File('myfile.txt', { base64 });
48+
const file = new av.File('myfile.txt', { base64 });
4849
file.metaData('format', 'txt file');
4950
file.save().then(() => {
5051
console.log(file.get('url'));
@@ -53,7 +54,7 @@ file.save().then(() => {
5354
});
5455

5556
// 查找文件
56-
const query = new AV.Query(TestClass);
57+
const query = new av.Query(TestClass);
5758
query.equalTo('name', 'hjiang');
5859
query.find().then((list) => {
5960
console.log(list);

src/request.js

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ const setServerUrl = (serverURL) => {
235235
}
236236
};
237237

238-
const refreshServerUrl = () => {
238+
const refreshServerUrlByRouter = () => {
239239
const url = `https://app-router.leancloud.cn/1/route?appId=${AV.applicationId}`;
240240
return ajax('get', url).then(servers => {
241241
if (servers.api_server) {
@@ -248,21 +248,28 @@ const refreshServerUrl = () => {
248248
const setServerUrlByRegion = (region = 'cn') => {
249249
// 如果用户在 init 之前设置了 APIServerURL,则跳过请求 router
250250
if (AV._config.APIServerURL) {
251+
getServerURLPromise.resolve();
251252
return;
252253
}
253-
AV._config.region = region;
254-
AV._config.APIServerURL = API_HOST[region];
255-
256-
Cache.getAsync('APIServerURL').then((serverURL) => {
257-
if (serverURL) {
258-
setServerUrl(serverURL);
259-
getServerURLPromise.resolve();
260-
} else {
261-
refreshServerUrl().then(() => {
254+
// if not china server region, do not use router
255+
if (region === 'cn') {
256+
Cache.getAsync('APIServerURL').then((serverURL) => {
257+
if (serverURL) {
258+
setServerUrl(serverURL);
262259
getServerURLPromise.resolve();
263-
});
264-
}
265-
});
260+
} else {
261+
return refreshServerUrlByRouter();
262+
}
263+
}).then(() => {
264+
getServerURLPromise.resolve();
265+
}).catch(() => {
266+
getServerURLPromise.reject();
267+
});
268+
} else {
269+
AV._config.region = region;
270+
AV._config.APIServerURL = API_HOST[region];
271+
getServerURLPromise.resolve();
272+
}
266273
};
267274

268275
/**

0 commit comments

Comments
 (0)