diff --git a/src/apis/index.js b/src/apis/index.js index f1d55e0..fd64675 100644 --- a/src/apis/index.js +++ b/src/apis/index.js @@ -247,7 +247,15 @@ export const apiTranslate = async ({ let srLang = ""; if (apiSetting.isBatchFetch && OPT_TRANS_BATCH.has(translator)) { const queue = getBatchQueue( - { translator, from, to, docInfo, apiSetting, usePool }, + { + translator, + from, + to, + docInfo, + apiSetting, + usePool, + taskFn: fetchTranslate, + }, apiSetting ); const tranlation = await queue.addTask({ text }); diff --git a/src/libs/batchQueue.js b/src/libs/batchQueue.js index 3f291ba..b13e239 100644 --- a/src/libs/batchQueue.js +++ b/src/libs/batchQueue.js @@ -1,13 +1,11 @@ -import { fetchTranslate } from "../apis/trans"; - /** * 批处理队列 - * @param {*} translator + * @param {*} args * @param {*} param1 * @returns */ const batchQueue = ( - { translator, from, to, docInfo, apiSetting, usePool }, + { taskFn, ...args }, { batchInterval = 1000, batchSize = 10, batchLength = 10000 } = {} ) => { const queue = []; @@ -16,14 +14,9 @@ const batchQueue = ( const sendBatchRequest = async (payloads) => { const texts = payloads.map((item) => item.text); - return fetchTranslate({ - translator, + return taskFn({ + ...args, texts, - from, - to, - docInfo, - apiSetting, - usePool, }); };