diff --git a/federjs/Feder.js b/federjs/Feder.js index 435d7aa..295bc6b 100644 --- a/federjs/Feder.js +++ b/federjs/Feder.js @@ -29,6 +29,8 @@ export default class Feder { } else { // todo } + + this.setSearchParamsPromise = null; } overview() { @@ -36,7 +38,10 @@ export default class Feder { } search(target = null, targetMediaUrl = null) { if (target) { - const searchResPromise = this.initCoreAndViewPromise.then(() => { + const searchResPromise = Promise.all([ + this.initCoreAndViewPromise, + this.setSearchParamsPromise, + ]).then(() => { const searchRes = this.core.search(target); console.log(searchRes); this.searchRes = searchRes; @@ -92,12 +97,16 @@ export default class Feder { return this.federView.search({ searchResPromise }); } - async setSearchParams(params) { - this.initCoreAndViewPromise && (await this.initCoreAndViewPromise); - if (!this.core) { - console.error('No feder-core'); - } else { - this.core.setSearchParams(params); - } + setSearchParams(params) { + this.setSearchParamsPromise = new Promise(async (resolve) => { + this.initCoreAndViewPromise && (await this.initCoreAndViewPromise); + if (!this.core) { + console.error('No feder-core'); + } else { + this.core.setSearchParams(params); + } + resolve(); + }); + return this; } } diff --git a/package.json b/package.json index b92167e..e53069d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@zilliz/feder", "author": "ued@zilliz.com", - "version": "0.2.1", + "version": "0.2.2", "description": "visualization packages for vector space", "main": "dist/index.js", "files": [ diff --git a/test/bundle.js b/test/bundle.js index 45ecf1c..27ad23d 100644 --- a/test/bundle.js +++ b/test/bundle.js @@ -17879,13 +17879,17 @@ ${indentData}`); }); } else { } + this.setSearchParamsPromise = null; } overview() { return this.federView.overview(this.initCoreAndViewPromise); } search(target = null, targetMediaUrl = null) { if (target) { - const searchResPromise = this.initCoreAndViewPromise.then(() => { + const searchResPromise = Promise.all([ + this.initCoreAndViewPromise, + this.setSearchParamsPromise + ]).then(() => { const searchRes = this.core.search(target); console.log(searchRes); this.searchRes = searchRes; @@ -17934,14 +17938,16 @@ ${indentData}`); return this.federView.search({ searchResPromise }); } setSearchParams(params) { - return __async(this, null, function* () { + this.setSearchParamsPromise = new Promise((resolve) => __async(this, null, function* () { this.initCoreAndViewPromise && (yield this.initCoreAndViewPromise); if (!this.core) { console.error("No feder-core"); } else { this.core.setSearchParams(params); } - }); + resolve(); + })); + return this; } }; @@ -17979,10 +17985,8 @@ ${indentData}`); }); document.querySelector(domSelector).appendChild(feder.overview()); document.querySelector(domSelector).appendChild(feder.searchRandTestVec()); - feder.setSearchParams({ k: 4, nprobe: 6, ef: 6 }); - document.querySelector(domSelector).appendChild(feder.searchById(4365)); - feder.setSearchParams({ k: 6, nprobe: 10, ef: 8 }); - document.querySelector(domSelector).appendChild(feder.searchRandTestVec()); + document.querySelector(domSelector).appendChild(feder.setSearchParams({ k: 4, nprobe: 6, ef: 6 }).searchById(4365)); + document.querySelector(domSelector).appendChild(feder.setSearchParams({ k: 6, nprobe: 10, ef: 8 }).searchRandTestVec()); document.querySelector(domSelector).appendChild(feder.overview()); })); })(); diff --git a/test/test.js b/test/test.js index 5f949c7..0afa289 100644 --- a/test/test.js +++ b/test/test.js @@ -114,9 +114,16 @@ window.addEventListener('DOMContentLoaded', async () => { document.querySelector(domSelector).appendChild(feder.overview()); document.querySelector(domSelector).appendChild(feder.searchRandTestVec()); - feder.setSearchParams({ k: 4, nprobe: 6, ef: 6 }); - document.querySelector(domSelector).appendChild(feder.searchById(4365)); - feder.setSearchParams({ k: 6, nprobe: 10, ef: 8 }); - document.querySelector(domSelector).appendChild(feder.searchRandTestVec()); + + document + .querySelector(domSelector) + .appendChild( + feder.setSearchParams({ k: 4, nprobe: 6, ef: 6 }).searchById(4365) + ); + document + .querySelector(domSelector) + .appendChild( + feder.setSearchParams({ k: 6, nprobe: 10, ef: 8 }).searchRandTestVec() + ); document.querySelector(domSelector).appendChild(feder.overview()); });