161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit ArkTS 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ci/** 2261847f8eSopenharmony_ci * JS cross-thread task executor. 2361847f8eSopenharmony_ci * 2461847f8eSopenharmony_ci * @namespace taskpool 2561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 2661847f8eSopenharmony_ci * @since 9 2761847f8eSopenharmony_ci */ 2861847f8eSopenharmony_ci/** 2961847f8eSopenharmony_ci * JS cross-thread task executor. 3061847f8eSopenharmony_ci * 3161847f8eSopenharmony_ci * @namespace taskpool 3261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 3361847f8eSopenharmony_ci * @crossplatform 3461847f8eSopenharmony_ci * @since 10 3561847f8eSopenharmony_ci */ 3661847f8eSopenharmony_ci/** 3761847f8eSopenharmony_ci * JS cross-thread task executor. 3861847f8eSopenharmony_ci * 3961847f8eSopenharmony_ci * @namespace taskpool 4061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 4161847f8eSopenharmony_ci * @crossplatform 4261847f8eSopenharmony_ci * @atomicservice 4361847f8eSopenharmony_ci * @since 11 4461847f8eSopenharmony_ci */ 4561847f8eSopenharmony_cideclare namespace taskpool { 4661847f8eSopenharmony_ci /** 4761847f8eSopenharmony_ci * The Priority defines the task priority. 4861847f8eSopenharmony_ci * 4961847f8eSopenharmony_ci * @enum { number } Priority 5061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 5161847f8eSopenharmony_ci * @since 9 5261847f8eSopenharmony_ci */ 5361847f8eSopenharmony_ci /** 5461847f8eSopenharmony_ci * The Priority defines the task priority. 5561847f8eSopenharmony_ci * 5661847f8eSopenharmony_ci * @enum { number } Priority 5761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 5861847f8eSopenharmony_ci * @crossplatform 5961847f8eSopenharmony_ci * @since 10 6061847f8eSopenharmony_ci */ 6161847f8eSopenharmony_ci /** 6261847f8eSopenharmony_ci * The Priority defines the task priority. 6361847f8eSopenharmony_ci * 6461847f8eSopenharmony_ci * @enum { number } Priority 6561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 6661847f8eSopenharmony_ci * @crossplatform 6761847f8eSopenharmony_ci * @atomicservice 6861847f8eSopenharmony_ci * @since 11 6961847f8eSopenharmony_ci */ 7061847f8eSopenharmony_ci enum Priority { 7161847f8eSopenharmony_ci /** 7261847f8eSopenharmony_ci * set task priority to high. 7361847f8eSopenharmony_ci * 7461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 7561847f8eSopenharmony_ci * @since 9 7661847f8eSopenharmony_ci */ 7761847f8eSopenharmony_ci /** 7861847f8eSopenharmony_ci * set task priority to high. 7961847f8eSopenharmony_ci * 8061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 8161847f8eSopenharmony_ci * @crossplatform 8261847f8eSopenharmony_ci * @since 10 8361847f8eSopenharmony_ci */ 8461847f8eSopenharmony_ci /** 8561847f8eSopenharmony_ci * set task priority to high. 8661847f8eSopenharmony_ci * 8761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 8861847f8eSopenharmony_ci * @crossplatform 8961847f8eSopenharmony_ci * @atomicservice 9061847f8eSopenharmony_ci * @since 11 9161847f8eSopenharmony_ci */ 9261847f8eSopenharmony_ci HIGH = 0, 9361847f8eSopenharmony_ci 9461847f8eSopenharmony_ci /** 9561847f8eSopenharmony_ci * set task priority to medium. 9661847f8eSopenharmony_ci * 9761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 9861847f8eSopenharmony_ci * @since 9 9961847f8eSopenharmony_ci */ 10061847f8eSopenharmony_ci /** 10161847f8eSopenharmony_ci * set task priority to medium. 10261847f8eSopenharmony_ci * 10361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 10461847f8eSopenharmony_ci * @crossplatform 10561847f8eSopenharmony_ci * @since 10 10661847f8eSopenharmony_ci */ 10761847f8eSopenharmony_ci /** 10861847f8eSopenharmony_ci * set task priority to medium. 10961847f8eSopenharmony_ci * 11061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 11161847f8eSopenharmony_ci * @crossplatform 11261847f8eSopenharmony_ci * @atomicservice 11361847f8eSopenharmony_ci * @since 11 11461847f8eSopenharmony_ci */ 11561847f8eSopenharmony_ci MEDIUM = 1, 11661847f8eSopenharmony_ci 11761847f8eSopenharmony_ci /** 11861847f8eSopenharmony_ci * set task priority to low. 11961847f8eSopenharmony_ci * 12061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 12161847f8eSopenharmony_ci * @since 9 12261847f8eSopenharmony_ci */ 12361847f8eSopenharmony_ci /** 12461847f8eSopenharmony_ci * set task priority to low. 12561847f8eSopenharmony_ci * 12661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 12761847f8eSopenharmony_ci * @crossplatform 12861847f8eSopenharmony_ci * @since 10 12961847f8eSopenharmony_ci */ 13061847f8eSopenharmony_ci /** 13161847f8eSopenharmony_ci * set task priority to low. 13261847f8eSopenharmony_ci * 13361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 13461847f8eSopenharmony_ci * @crossplatform 13561847f8eSopenharmony_ci * @atomicservice 13661847f8eSopenharmony_ci * @since 11 13761847f8eSopenharmony_ci */ 13861847f8eSopenharmony_ci LOW = 2, 13961847f8eSopenharmony_ci /** 14061847f8eSopenharmony_ci * set task priority to idle. 14161847f8eSopenharmony_ci * 14261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 14361847f8eSopenharmony_ci * @crossplatform 14461847f8eSopenharmony_ci * @atomicservice 14561847f8eSopenharmony_ci * @since 12 14661847f8eSopenharmony_ci */ 14761847f8eSopenharmony_ci IDLE = 3 14861847f8eSopenharmony_ci } 14961847f8eSopenharmony_ci 15061847f8eSopenharmony_ci /** 15161847f8eSopenharmony_ci * Indicates the type of callback to be registered. 15261847f8eSopenharmony_ci * 15361847f8eSopenharmony_ci * @typedef { function } CallbackFunction 15461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 15561847f8eSopenharmony_ci * @crossplatform 15661847f8eSopenharmony_ci * @atomicservice 15761847f8eSopenharmony_ci * @since 12 15861847f8eSopenharmony_ci */ 15961847f8eSopenharmony_ci type CallbackFunction = () => void; 16061847f8eSopenharmony_ci 16161847f8eSopenharmony_ci /** 16261847f8eSopenharmony_ci * Indicates the type of callback with error code to be registered. 16361847f8eSopenharmony_ci * 16461847f8eSopenharmony_ci * @typedef { function } CallbackFunctionWithError 16561847f8eSopenharmony_ci * @param { Error } e - the error message. 16661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 16761847f8eSopenharmony_ci * @crossplatform 16861847f8eSopenharmony_ci * @atomicservice 16961847f8eSopenharmony_ci * @since 12 17061847f8eSopenharmony_ci */ 17161847f8eSopenharmony_ci type CallbackFunctionWithError = (e: Error) => void; 17261847f8eSopenharmony_ci 17361847f8eSopenharmony_ci /** 17461847f8eSopenharmony_ci * The Task class provides an interface to create a task. 17561847f8eSopenharmony_ci * 17661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 17761847f8eSopenharmony_ci * @since 9 17861847f8eSopenharmony_ci */ 17961847f8eSopenharmony_ci /** 18061847f8eSopenharmony_ci * The Task class provides an interface to create a task. 18161847f8eSopenharmony_ci * 18261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 18361847f8eSopenharmony_ci * @crossplatform 18461847f8eSopenharmony_ci * @since 10 18561847f8eSopenharmony_ci */ 18661847f8eSopenharmony_ci /** 18761847f8eSopenharmony_ci * The Task class provides an interface to create a task. 18861847f8eSopenharmony_ci * 18961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 19061847f8eSopenharmony_ci * @crossplatform 19161847f8eSopenharmony_ci * @atomicservice 19261847f8eSopenharmony_ci * @since 11 19361847f8eSopenharmony_ci */ 19461847f8eSopenharmony_ci class Task { 19561847f8eSopenharmony_ci /** 19661847f8eSopenharmony_ci * Create a Task instance. 19761847f8eSopenharmony_ci * 19861847f8eSopenharmony_ci * @param { Function } func - func func Concurrent function to execute in taskpool. 19961847f8eSopenharmony_ci * @param { unknown[] } args - args args The concurrent function arguments. 20061847f8eSopenharmony_ci * @throws { BusinessError } 401 - The input parameters are invalid. 20161847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 20261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 20361847f8eSopenharmony_ci * @since 9 20461847f8eSopenharmony_ci */ 20561847f8eSopenharmony_ci /** 20661847f8eSopenharmony_ci * Create a Task instance. 20761847f8eSopenharmony_ci * 20861847f8eSopenharmony_ci * @param { Function } func - func func Concurrent function to execute in taskpool. 20961847f8eSopenharmony_ci * @param { unknown[] } args - args args The concurrent function arguments. 21061847f8eSopenharmony_ci * @throws { BusinessError } 401 - The input parameters are invalid. 21161847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 21261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 21361847f8eSopenharmony_ci * @crossplatform 21461847f8eSopenharmony_ci * @since 10 21561847f8eSopenharmony_ci */ 21661847f8eSopenharmony_ci /** 21761847f8eSopenharmony_ci * Create a Task instance. 21861847f8eSopenharmony_ci * 21961847f8eSopenharmony_ci * @param { Function } func - func func Concurrent function to execute in taskpool. 22061847f8eSopenharmony_ci * @param { Object[] } args - args args The concurrent function arguments. 22161847f8eSopenharmony_ci * @throws { BusinessError } 401 - The input parameters are invalid. 22261847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 22361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 22461847f8eSopenharmony_ci * @crossplatform 22561847f8eSopenharmony_ci * @atomicservice 22661847f8eSopenharmony_ci * @since 11 22761847f8eSopenharmony_ci */ 22861847f8eSopenharmony_ci constructor(func: Function, ...args: Object[]); 22961847f8eSopenharmony_ci 23061847f8eSopenharmony_ci /** 23161847f8eSopenharmony_ci * Create a Task instance. 23261847f8eSopenharmony_ci * 23361847f8eSopenharmony_ci * @param { string } name - name name The name of Task. 23461847f8eSopenharmony_ci * @param { Function } func - func func Concurrent function to execute in taskpool. 23561847f8eSopenharmony_ci * @param { Object[] } args - args args The concurrent function arguments. 23661847f8eSopenharmony_ci * @throws { BusinessError } 401 - The input parameters are invalid. 23761847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 23861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 23961847f8eSopenharmony_ci * @crossplatform 24061847f8eSopenharmony_ci * @atomicservice 24161847f8eSopenharmony_ci * @since 11 24261847f8eSopenharmony_ci */ 24361847f8eSopenharmony_ci constructor(name: string, func: Function, ...args: Object[]); 24461847f8eSopenharmony_ci 24561847f8eSopenharmony_ci /** 24661847f8eSopenharmony_ci * Check current running Task is canceled or not. 24761847f8eSopenharmony_ci * 24861847f8eSopenharmony_ci * @returns { boolean } Returns {@code true} if current running task is canceled; returns {@code false} otherwise. 24961847f8eSopenharmony_ci * @static 25061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 25161847f8eSopenharmony_ci * @crossplatform 25261847f8eSopenharmony_ci * @since 10 25361847f8eSopenharmony_ci */ 25461847f8eSopenharmony_ci /** 25561847f8eSopenharmony_ci * Check current running Task is canceled or not. 25661847f8eSopenharmony_ci * 25761847f8eSopenharmony_ci * @returns { boolean } Returns {@code true} if current running task is canceled; returns {@code false} otherwise. 25861847f8eSopenharmony_ci * @static 25961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 26061847f8eSopenharmony_ci * @crossplatform 26161847f8eSopenharmony_ci * @atomicservice 26261847f8eSopenharmony_ci * @since 11 26361847f8eSopenharmony_ci */ 26461847f8eSopenharmony_ci static isCanceled(): boolean; 26561847f8eSopenharmony_ci 26661847f8eSopenharmony_ci /** 26761847f8eSopenharmony_ci * Send data back to the host side and trigger the registered callback 26861847f8eSopenharmony_ci * 26961847f8eSopenharmony_ci * @param { Object[] } args - Data to be used as the input parameter of the registered callback. 27061847f8eSopenharmony_ci * @throws { BusinessError } 401 - The input parameters are invalid. 27161847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 27261847f8eSopenharmony_ci * @throws { BusinessError } 10200022 - The function is not called in the TaskPool thread. 27361847f8eSopenharmony_ci * @throws { BusinessError } 10200023 - The function is not called in the concurrent function. 27461847f8eSopenharmony_ci * @throws { BusinessError } 10200024 - The callback is not registered on the host side. 27561847f8eSopenharmony_ci * @static 27661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 27761847f8eSopenharmony_ci * @crossplatform 27861847f8eSopenharmony_ci * @atomicservice 27961847f8eSopenharmony_ci * @since 11 28061847f8eSopenharmony_ci */ 28161847f8eSopenharmony_ci static sendData(...args: Object[]): void; 28261847f8eSopenharmony_ci 28361847f8eSopenharmony_ci /** 28461847f8eSopenharmony_ci * Set transfer list for this task. 28561847f8eSopenharmony_ci * 28661847f8eSopenharmony_ci * @param { ArrayBuffer[] } [transfer] - transfer Transfer list of this task, empty array is default. 28761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed. 28861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 28961847f8eSopenharmony_ci * @crossplatform 29061847f8eSopenharmony_ci * @since 10 29161847f8eSopenharmony_ci */ 29261847f8eSopenharmony_ci /** 29361847f8eSopenharmony_ci * Set transfer list for this task. 29461847f8eSopenharmony_ci * 29561847f8eSopenharmony_ci * @param { ArrayBuffer[] } [transfer] - transfer Transfer list of this task, empty array is default. 29661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed. 29761847f8eSopenharmony_ci * @throws { BusinessError } 10200029 - An ArrayBuffer cannot be set as both a transfer list and a clone list. 29861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 29961847f8eSopenharmony_ci * @crossplatform 30061847f8eSopenharmony_ci * @atomicservice 30161847f8eSopenharmony_ci * @since 11 30261847f8eSopenharmony_ci */ 30361847f8eSopenharmony_ci setTransferList(transfer?: ArrayBuffer[]): void; 30461847f8eSopenharmony_ci 30561847f8eSopenharmony_ci /** 30661847f8eSopenharmony_ci * Set clone list for this task. 30761847f8eSopenharmony_ci * 30861847f8eSopenharmony_ci * @param { Object[] | ArrayBuffer[] } cloneList - Sendable objects or arrayBuffer objects in this list 30961847f8eSopenharmony_ci * will be transmitted to worker thread in a copy way. 31061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 31161847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 31261847f8eSopenharmony_ci * 2.Incorrect parameter types; 31361847f8eSopenharmony_ci * 3.Parameter verification failed. 31461847f8eSopenharmony_ci * @throws { BusinessError } 10200029 - An ArrayBuffer cannot be set as both a transfer list and a clone list. 31561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 31661847f8eSopenharmony_ci * @crossplatform 31761847f8eSopenharmony_ci * @atomicservice 31861847f8eSopenharmony_ci * @since 11 31961847f8eSopenharmony_ci */ 32061847f8eSopenharmony_ci setCloneList(cloneList: Object[] | ArrayBuffer[]): void; 32161847f8eSopenharmony_ci 32261847f8eSopenharmony_ci /** 32361847f8eSopenharmony_ci * Register a callback for this task to receive and handle data from the taskpool worker thread. 32461847f8eSopenharmony_ci * 32561847f8eSopenharmony_ci * @param { Function } [callback] - Callback to be registered and executed later on the host side. 32661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed. 32761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 32861847f8eSopenharmony_ci * @crossplatform 32961847f8eSopenharmony_ci * @atomicservice 33061847f8eSopenharmony_ci * @since 11 33161847f8eSopenharmony_ci */ 33261847f8eSopenharmony_ci onReceiveData(callback?: Function): void; 33361847f8eSopenharmony_ci 33461847f8eSopenharmony_ci /** 33561847f8eSopenharmony_ci * Add dependencies on the task array for this task. 33661847f8eSopenharmony_ci * 33761847f8eSopenharmony_ci * @param { Task[] } tasks - tasks tasks An array of dependent tasks. 33861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 33961847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 34061847f8eSopenharmony_ci * 2.Incorrect parameter types; 34161847f8eSopenharmony_ci * 3.Parameter verification failed. 34261847f8eSopenharmony_ci * @throws { BusinessError } 10200026 - There is a circular dependency. 34361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 34461847f8eSopenharmony_ci * @crossplatform 34561847f8eSopenharmony_ci * @atomicservice 34661847f8eSopenharmony_ci * @since 11 34761847f8eSopenharmony_ci */ 34861847f8eSopenharmony_ci /** 34961847f8eSopenharmony_ci * Add dependencies on the task array for this task. 35061847f8eSopenharmony_ci * 35161847f8eSopenharmony_ci * @param { Task[] } tasks - An array of dependent tasks. 35261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 35361847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified; 35461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 35561847f8eSopenharmony_ci * <br>3. Parameter verification failed. 35661847f8eSopenharmony_ci * @throws { BusinessError } 10200026 - There is a circular dependency. 35761847f8eSopenharmony_ci * @throws { BusinessError } 10200052 - The periodic task cannot have a dependency. 35861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 35961847f8eSopenharmony_ci * @crossplatform 36061847f8eSopenharmony_ci * @atomicservice 36161847f8eSopenharmony_ci * @since 12 36261847f8eSopenharmony_ci */ 36361847f8eSopenharmony_ci addDependency(...tasks: Task[]): void; 36461847f8eSopenharmony_ci 36561847f8eSopenharmony_ci /** 36661847f8eSopenharmony_ci * Remove dependencies on the task array for this task. 36761847f8eSopenharmony_ci * 36861847f8eSopenharmony_ci * @param { Task[] } tasks - tasks tasks An array of dependent tasks. 36961847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 37061847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 37161847f8eSopenharmony_ci * 2.Incorrect parameter types; 37261847f8eSopenharmony_ci * 3.Parameter verification failed. 37361847f8eSopenharmony_ci * @throws { BusinessError } 10200027 - The dependency does not exist. 37461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 37561847f8eSopenharmony_ci * @crossplatform 37661847f8eSopenharmony_ci * @atomicservice 37761847f8eSopenharmony_ci * @since 11 37861847f8eSopenharmony_ci */ 37961847f8eSopenharmony_ci /** 38061847f8eSopenharmony_ci * Remove dependencies on the task array for this task. 38161847f8eSopenharmony_ci * 38261847f8eSopenharmony_ci * @param { Task[] } tasks - An array of dependent tasks. 38361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 38461847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified; 38561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 38661847f8eSopenharmony_ci * <br>3. Parameter verification failed. 38761847f8eSopenharmony_ci * @throws { BusinessError } 10200027 - The dependency does not exist. 38861847f8eSopenharmony_ci * @throws { BusinessError } 10200052 - The periodic task cannot have a dependency. 38961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 39061847f8eSopenharmony_ci * @crossplatform 39161847f8eSopenharmony_ci * @atomicservice 39261847f8eSopenharmony_ci * @since 12 39361847f8eSopenharmony_ci */ 39461847f8eSopenharmony_ci removeDependency(...tasks: Task[]): void; 39561847f8eSopenharmony_ci 39661847f8eSopenharmony_ci /** 39761847f8eSopenharmony_ci * Register a callback and call it when the task is enqueued. 39861847f8eSopenharmony_ci * 39961847f8eSopenharmony_ci * @param { CallbackFunction } [callback] - Callback to be registered and executed later on the host side. 40061847f8eSopenharmony_ci * @throws { BusinessError } 401 - The input parameters are invalid. 40161847f8eSopenharmony_ci * @throws { BusinessError } 10200034 - The executed task does not support the registration of listeners. 40261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 40361847f8eSopenharmony_ci * @crossplatform 40461847f8eSopenharmony_ci * @atomicservice 40561847f8eSopenharmony_ci * @since 12 40661847f8eSopenharmony_ci */ 40761847f8eSopenharmony_ci onEnqueued(callback: CallbackFunction): void; 40861847f8eSopenharmony_ci 40961847f8eSopenharmony_ci /** 41061847f8eSopenharmony_ci * Register a callback and call it when the task before execute. 41161847f8eSopenharmony_ci * 41261847f8eSopenharmony_ci * @param { CallbackFunction } [callback] - Callback to be registered and executed later on the host side. 41361847f8eSopenharmony_ci * @throws { BusinessError } 401 - The input parameters are invalid. 41461847f8eSopenharmony_ci * @throws { BusinessError } 10200034 - The executed task does not support the registration of listeners. 41561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 41661847f8eSopenharmony_ci * @crossplatform 41761847f8eSopenharmony_ci * @atomicservice 41861847f8eSopenharmony_ci * @since 12 41961847f8eSopenharmony_ci */ 42061847f8eSopenharmony_ci onStartExecution(callback: CallbackFunction): void; 42161847f8eSopenharmony_ci 42261847f8eSopenharmony_ci /** 42361847f8eSopenharmony_ci * Register a callback and call it when the task fails to execute. 42461847f8eSopenharmony_ci * 42561847f8eSopenharmony_ci * @param { CallbackFunctionWithError } [callback] - Callback to be registered and executed later on the host side. 42661847f8eSopenharmony_ci * @throws { BusinessError } 401 - The input parameters are invalid. 42761847f8eSopenharmony_ci * @throws { BusinessError } 10200034 - The executed task does not support the registration of listeners. 42861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 42961847f8eSopenharmony_ci * @crossplatform 43061847f8eSopenharmony_ci * @atomicservice 43161847f8eSopenharmony_ci * @since 12 43261847f8eSopenharmony_ci */ 43361847f8eSopenharmony_ci onExecutionFailed(callback: CallbackFunctionWithError): void; 43461847f8eSopenharmony_ci 43561847f8eSopenharmony_ci /** 43661847f8eSopenharmony_ci * Register a callback and call it when the task successfully executes. 43761847f8eSopenharmony_ci * 43861847f8eSopenharmony_ci * @param { CallbackFunction } [callback] - Callback to be registered and executed later on the host side. 43961847f8eSopenharmony_ci * @throws { BusinessError } 401 - The input parameters are invalid. 44061847f8eSopenharmony_ci * @throws { BusinessError } 10200034 - The executed task does not support the registration of listeners. 44161847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 44261847f8eSopenharmony_ci * @crossplatform 44361847f8eSopenharmony_ci * @atomicservice 44461847f8eSopenharmony_ci * @since 12 44561847f8eSopenharmony_ci */ 44661847f8eSopenharmony_ci onExecutionSucceeded(callback: CallbackFunction): void; 44761847f8eSopenharmony_ci 44861847f8eSopenharmony_ci /** 44961847f8eSopenharmony_ci * Check if the task has been completed. 45061847f8eSopenharmony_ci * 45161847f8eSopenharmony_ci * @returns { boolean } Returns {@code true} if the task has been completed; returns {@code false} otherwise. 45261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 45361847f8eSopenharmony_ci * @crossplatform 45461847f8eSopenharmony_ci * @atomicservice 45561847f8eSopenharmony_ci * @since 12 45661847f8eSopenharmony_ci */ 45761847f8eSopenharmony_ci isDone(): boolean; 45861847f8eSopenharmony_ci 45961847f8eSopenharmony_ci /** 46061847f8eSopenharmony_ci * Concurrent function to execute in taskpool. 46161847f8eSopenharmony_ci * 46261847f8eSopenharmony_ci * @type { Function } 46361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 46461847f8eSopenharmony_ci * @since 9 46561847f8eSopenharmony_ci */ 46661847f8eSopenharmony_ci /** 46761847f8eSopenharmony_ci * Concurrent function to execute in taskpool. 46861847f8eSopenharmony_ci * 46961847f8eSopenharmony_ci * @type { Function } 47061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 47161847f8eSopenharmony_ci * @crossplatform 47261847f8eSopenharmony_ci * @since 10 47361847f8eSopenharmony_ci */ 47461847f8eSopenharmony_ci /** 47561847f8eSopenharmony_ci * Concurrent function to execute in taskpool. 47661847f8eSopenharmony_ci * 47761847f8eSopenharmony_ci * @type { Function } 47861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 47961847f8eSopenharmony_ci * @crossplatform 48061847f8eSopenharmony_ci * @atomicservice 48161847f8eSopenharmony_ci * @since 11 48261847f8eSopenharmony_ci */ 48361847f8eSopenharmony_ci function: Function; 48461847f8eSopenharmony_ci 48561847f8eSopenharmony_ci /** 48661847f8eSopenharmony_ci * The concurrent function arguments. 48761847f8eSopenharmony_ci * 48861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 48961847f8eSopenharmony_ci * @since 9 49061847f8eSopenharmony_ci */ 49161847f8eSopenharmony_ci /** 49261847f8eSopenharmony_ci * The concurrent function arguments. 49361847f8eSopenharmony_ci * 49461847f8eSopenharmony_ci * @type { ?unknown[] } 49561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 49661847f8eSopenharmony_ci * @crossplatform 49761847f8eSopenharmony_ci * @since 10 49861847f8eSopenharmony_ci */ 49961847f8eSopenharmony_ci /** 50061847f8eSopenharmony_ci * The concurrent function arguments. 50161847f8eSopenharmony_ci * 50261847f8eSopenharmony_ci * @type { ?Object[] } 50361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 50461847f8eSopenharmony_ci * @crossplatform 50561847f8eSopenharmony_ci * @atomicservice 50661847f8eSopenharmony_ci * @since 11 50761847f8eSopenharmony_ci */ 50861847f8eSopenharmony_ci arguments?: Object[]; 50961847f8eSopenharmony_ci 51061847f8eSopenharmony_ci /** 51161847f8eSopenharmony_ci * Task name. 51261847f8eSopenharmony_ci * 51361847f8eSopenharmony_ci * @type { string } 51461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 51561847f8eSopenharmony_ci * @crossplatform 51661847f8eSopenharmony_ci * @atomicservice 51761847f8eSopenharmony_ci * @since 11 51861847f8eSopenharmony_ci */ 51961847f8eSopenharmony_ci name: string; 52061847f8eSopenharmony_ci 52161847f8eSopenharmony_ci /** 52261847f8eSopenharmony_ci * Total duration of task execution. 52361847f8eSopenharmony_ci * 52461847f8eSopenharmony_ci * @type { number } 52561847f8eSopenharmony_ci * @default 0 52661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 52761847f8eSopenharmony_ci * @crossplatform 52861847f8eSopenharmony_ci * @atomicservice 52961847f8eSopenharmony_ci * @since 11 53061847f8eSopenharmony_ci */ 53161847f8eSopenharmony_ci totalDuration: number; 53261847f8eSopenharmony_ci 53361847f8eSopenharmony_ci /** 53461847f8eSopenharmony_ci * IO duration of task execution. 53561847f8eSopenharmony_ci * 53661847f8eSopenharmony_ci * @type { number } 53761847f8eSopenharmony_ci * @default 0 53861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 53961847f8eSopenharmony_ci * @crossplatform 54061847f8eSopenharmony_ci * @atomicservice 54161847f8eSopenharmony_ci * @since 11 54261847f8eSopenharmony_ci */ 54361847f8eSopenharmony_ci ioDuration: number; 54461847f8eSopenharmony_ci 54561847f8eSopenharmony_ci /** 54661847f8eSopenharmony_ci * CPU duration of task execution. 54761847f8eSopenharmony_ci * 54861847f8eSopenharmony_ci * @type { number } 54961847f8eSopenharmony_ci * @default 0 55061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 55161847f8eSopenharmony_ci * @crossplatform 55261847f8eSopenharmony_ci * @atomicservice 55361847f8eSopenharmony_ci * @since 11 55461847f8eSopenharmony_ci */ 55561847f8eSopenharmony_ci cpuDuration: number; 55661847f8eSopenharmony_ci } 55761847f8eSopenharmony_ci 55861847f8eSopenharmony_ci /** 55961847f8eSopenharmony_ci * The TaskGroup class provides an interface to create a task group. 56061847f8eSopenharmony_ci * 56161847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 56261847f8eSopenharmony_ci * @crossplatform 56361847f8eSopenharmony_ci * @since 10 56461847f8eSopenharmony_ci */ 56561847f8eSopenharmony_ci /** 56661847f8eSopenharmony_ci * The TaskGroup class provides an interface to create a task group. 56761847f8eSopenharmony_ci * 56861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 56961847f8eSopenharmony_ci * @crossplatform 57061847f8eSopenharmony_ci * @atomicservice 57161847f8eSopenharmony_ci * @since 11 57261847f8eSopenharmony_ci */ 57361847f8eSopenharmony_ci class TaskGroup { 57461847f8eSopenharmony_ci /** 57561847f8eSopenharmony_ci * Create a TaskGroup instance. 57661847f8eSopenharmony_ci * 57761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 57861847f8eSopenharmony_ci * @crossplatform 57961847f8eSopenharmony_ci * @since 10 58061847f8eSopenharmony_ci */ 58161847f8eSopenharmony_ci /** 58261847f8eSopenharmony_ci * Create a TaskGroup instance. 58361847f8eSopenharmony_ci * 58461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 58561847f8eSopenharmony_ci * @crossplatform 58661847f8eSopenharmony_ci * @atomicservice 58761847f8eSopenharmony_ci * @since 11 58861847f8eSopenharmony_ci */ 58961847f8eSopenharmony_ci constructor(); 59061847f8eSopenharmony_ci 59161847f8eSopenharmony_ci /** 59261847f8eSopenharmony_ci * Create a TaskGroup instance. 59361847f8eSopenharmony_ci * 59461847f8eSopenharmony_ci * @param { string } name - name name The name of taskGroup. 59561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 59661847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 59761847f8eSopenharmony_ci * 2.Incorrect parameter types; 59861847f8eSopenharmony_ci * 3.Parameter verification failed. 59961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 60061847f8eSopenharmony_ci * @crossplatform 60161847f8eSopenharmony_ci * @atomicservice 60261847f8eSopenharmony_ci * @since 11 60361847f8eSopenharmony_ci */ 60461847f8eSopenharmony_ci constructor(name: string); 60561847f8eSopenharmony_ci 60661847f8eSopenharmony_ci /** 60761847f8eSopenharmony_ci * Add a Concurrent function into task group. 60861847f8eSopenharmony_ci * 60961847f8eSopenharmony_ci * @param { Function } func - func func Concurrent function to add in task group. 61061847f8eSopenharmony_ci * @param { unknown[] } args - args args The concurrent function arguments. 61161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 61261847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 61361847f8eSopenharmony_ci * 2.Incorrect parameter types; 61461847f8eSopenharmony_ci * 3.Parameter verification failed. 61561847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 61661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 61761847f8eSopenharmony_ci * @crossplatform 61861847f8eSopenharmony_ci * @since 10 61961847f8eSopenharmony_ci */ 62061847f8eSopenharmony_ci /** 62161847f8eSopenharmony_ci * Add a Concurrent function into task group. 62261847f8eSopenharmony_ci * 62361847f8eSopenharmony_ci * @param { Function } func - func func Concurrent function to add in task group. 62461847f8eSopenharmony_ci * @param { Object[] } args - args args The concurrent function arguments. 62561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 62661847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 62761847f8eSopenharmony_ci * 2.Incorrect parameter types; 62861847f8eSopenharmony_ci * 3.Parameter verification failed. 62961847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 63061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 63161847f8eSopenharmony_ci * @crossplatform 63261847f8eSopenharmony_ci * @atomicservice 63361847f8eSopenharmony_ci * @since 11 63461847f8eSopenharmony_ci */ 63561847f8eSopenharmony_ci addTask(func: Function, ...args: Object[]): void; 63661847f8eSopenharmony_ci 63761847f8eSopenharmony_ci /** 63861847f8eSopenharmony_ci * Add a Task into TaskGroup. 63961847f8eSopenharmony_ci * 64061847f8eSopenharmony_ci * @param { Task } task - task task The task want to add in task group. 64161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 64261847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 64361847f8eSopenharmony_ci * 2.Incorrect parameter types; 64461847f8eSopenharmony_ci * 3.Parameter verification failed. 64561847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 64661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 64761847f8eSopenharmony_ci * @crossplatform 64861847f8eSopenharmony_ci * @since 10 64961847f8eSopenharmony_ci */ 65061847f8eSopenharmony_ci /** 65161847f8eSopenharmony_ci * Add a Task into TaskGroup. 65261847f8eSopenharmony_ci * 65361847f8eSopenharmony_ci * @param { Task } task - task task The task want to add in task group. 65461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 65561847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 65661847f8eSopenharmony_ci * 2.Incorrect parameter types; 65761847f8eSopenharmony_ci * 3.Parameter verification failed. 65861847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 65961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 66061847f8eSopenharmony_ci * @crossplatform 66161847f8eSopenharmony_ci * @atomicservice 66261847f8eSopenharmony_ci * @since 11 66361847f8eSopenharmony_ci */ 66461847f8eSopenharmony_ci /** 66561847f8eSopenharmony_ci * Add a Task into TaskGroup. 66661847f8eSopenharmony_ci * 66761847f8eSopenharmony_ci * @param { Task } task - The task want to add in task group. 66861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 66961847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified; 67061847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 67161847f8eSopenharmony_ci * <br>3. Parameter verification failed. 67261847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 67361847f8eSopenharmony_ci * @throws { BusinessError } 10200051 - The periodic task cannot be executed again. 67461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 67561847f8eSopenharmony_ci * @crossplatform 67661847f8eSopenharmony_ci * @atomicservice 67761847f8eSopenharmony_ci * @since 12 67861847f8eSopenharmony_ci */ 67961847f8eSopenharmony_ci addTask(task: Task): void; 68061847f8eSopenharmony_ci 68161847f8eSopenharmony_ci /** 68261847f8eSopenharmony_ci * TaskGroup name. 68361847f8eSopenharmony_ci * 68461847f8eSopenharmony_ci * @type { string } 68561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 68661847f8eSopenharmony_ci * @crossplatform 68761847f8eSopenharmony_ci * @atomicservice 68861847f8eSopenharmony_ci * @since 11 68961847f8eSopenharmony_ci */ 69061847f8eSopenharmony_ci name: string; 69161847f8eSopenharmony_ci } 69261847f8eSopenharmony_ci 69361847f8eSopenharmony_ci /** 69461847f8eSopenharmony_ci * The SequenceRunner class provides an interface to create a task sequence runner. 69561847f8eSopenharmony_ci * 69661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 69761847f8eSopenharmony_ci * @crossplatform 69861847f8eSopenharmony_ci * @atomicservice 69961847f8eSopenharmony_ci * @since 11 70061847f8eSopenharmony_ci */ 70161847f8eSopenharmony_ci class SequenceRunner { 70261847f8eSopenharmony_ci /** 70361847f8eSopenharmony_ci * Create a SequenceRunner instance. 70461847f8eSopenharmony_ci * 70561847f8eSopenharmony_ci * @param { Priority } priority - Task execution priority, MEDIUM is default. 70661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 70761847f8eSopenharmony_ci * 1.Incorrect parameter types; 70861847f8eSopenharmony_ci * 2.Parameter verification failed. 70961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 71061847f8eSopenharmony_ci * @crossplatform 71161847f8eSopenharmony_ci * @atomicservice 71261847f8eSopenharmony_ci * @since 11 71361847f8eSopenharmony_ci */ 71461847f8eSopenharmony_ci constructor(priority?: Priority); 71561847f8eSopenharmony_ci 71661847f8eSopenharmony_ci /** 71761847f8eSopenharmony_ci * Create or get a SequenceRunner instance by name. 71861847f8eSopenharmony_ci * 71961847f8eSopenharmony_ci * @param { string } name - SequenceRunner name, if name is the same, will return the same SequenceRunner. 72061847f8eSopenharmony_ci * @param { Priority } priority - Task execution priority, MEDIUM is default. 72161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 72261847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 3.Parameter verification failed. 72361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 72461847f8eSopenharmony_ci * @crossplatform 72561847f8eSopenharmony_ci * @atomicservice 72661847f8eSopenharmony_ci * @since 12 72761847f8eSopenharmony_ci */ 72861847f8eSopenharmony_ci constructor(name: string, priority?: Priority); 72961847f8eSopenharmony_ci 73061847f8eSopenharmony_ci /** 73161847f8eSopenharmony_ci * Execute a concurrent function. 73261847f8eSopenharmony_ci * 73361847f8eSopenharmony_ci * @param { Task } task - The task want to execute. 73461847f8eSopenharmony_ci * @returns { Promise<Object> } 73561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 73661847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 73761847f8eSopenharmony_ci * 2.Incorrect parameter types; 73861847f8eSopenharmony_ci * @throws { BusinessError } 10200003 - Worker initialization failed. 73961847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 74061847f8eSopenharmony_ci * @throws { BusinessError } 10200025 - The task to be added to SequenceRunner has dependent tasks. 74161847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 74261847f8eSopenharmony_ci * @crossplatform 74361847f8eSopenharmony_ci * @atomicservice 74461847f8eSopenharmony_ci * @since 11 74561847f8eSopenharmony_ci */ 74661847f8eSopenharmony_ci /** 74761847f8eSopenharmony_ci * Execute a concurrent function. 74861847f8eSopenharmony_ci * 74961847f8eSopenharmony_ci * @param { Task } task - The task want to execute. 75061847f8eSopenharmony_ci * @returns { Promise<Object> } 75161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 75261847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified; 75361847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 75461847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 75561847f8eSopenharmony_ci * @throws { BusinessError } 10200025 - dependent task not allowed. 75661847f8eSopenharmony_ci * @throws { BusinessError } 10200051 - The periodic task cannot be executed again. 75761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 75861847f8eSopenharmony_ci * @crossplatform 75961847f8eSopenharmony_ci * @atomicservice 76061847f8eSopenharmony_ci * @since 12 76161847f8eSopenharmony_ci */ 76261847f8eSopenharmony_ci execute(task: Task): Promise<Object>; 76361847f8eSopenharmony_ci } 76461847f8eSopenharmony_ci 76561847f8eSopenharmony_ci /** 76661847f8eSopenharmony_ci * The LongTask class provides an interface to create a task that has no upper limit on execution time. 76761847f8eSopenharmony_ci * 76861847f8eSopenharmony_ci * @extends Task 76961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 77061847f8eSopenharmony_ci * @crossplatform 77161847f8eSopenharmony_ci * @atomicservice 77261847f8eSopenharmony_ci * @since 12 77361847f8eSopenharmony_ci */ 77461847f8eSopenharmony_ci class LongTask extends Task { 77561847f8eSopenharmony_ci } 77661847f8eSopenharmony_ci 77761847f8eSopenharmony_ci /** 77861847f8eSopenharmony_ci * The GenericsTask class provides an interface to create a task with generics. 77961847f8eSopenharmony_ci * 78061847f8eSopenharmony_ci * @extends Task 78161847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 78261847f8eSopenharmony_ci * @atomicservice 78361847f8eSopenharmony_ci * @since 13 78461847f8eSopenharmony_ci */ 78561847f8eSopenharmony_ci class GenericsTask<A extends Array<Object>, R> extends Task { 78661847f8eSopenharmony_ci /** 78761847f8eSopenharmony_ci * Create a GenericsTask instance. 78861847f8eSopenharmony_ci * 78961847f8eSopenharmony_ci * @param { (...args: A) => R | Promise<R> } func - Concurrent function to execute in taskpool. 79061847f8eSopenharmony_ci * @param { A } args - The concurrent function arguments. 79161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed. 79261847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 79361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 79461847f8eSopenharmony_ci * @atomicservice 79561847f8eSopenharmony_ci * @since 13 79661847f8eSopenharmony_ci */ 79761847f8eSopenharmony_ci constructor(func: (...args: A) => R | Promise<R>, ...args: A); 79861847f8eSopenharmony_ci 79961847f8eSopenharmony_ci /** 80061847f8eSopenharmony_ci * Create a GenericsTask instance. 80161847f8eSopenharmony_ci * 80261847f8eSopenharmony_ci * @param { string } name - The name of GenericsTask. 80361847f8eSopenharmony_ci * @param { (...args: A) => R | Promise<R> } func - Concurrent function to execute in taskpool. 80461847f8eSopenharmony_ci * @param { A } args - The concurrent function arguments. 80561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed. 80661847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 80761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 80861847f8eSopenharmony_ci * @atomicservice 80961847f8eSopenharmony_ci * @since 13 81061847f8eSopenharmony_ci */ 81161847f8eSopenharmony_ci constructor(name: string, func: (...args: A) => R | Promise<R>, ...args: A); 81261847f8eSopenharmony_ci } 81361847f8eSopenharmony_ci 81461847f8eSopenharmony_ci /** 81561847f8eSopenharmony_ci * The State defines the task state. 81661847f8eSopenharmony_ci * 81761847f8eSopenharmony_ci * @enum { number } State 81861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 81961847f8eSopenharmony_ci * @crossplatform 82061847f8eSopenharmony_ci * @since 10 82161847f8eSopenharmony_ci */ 82261847f8eSopenharmony_ci /** 82361847f8eSopenharmony_ci * The State defines the task state. 82461847f8eSopenharmony_ci * 82561847f8eSopenharmony_ci * @enum { number } State 82661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 82761847f8eSopenharmony_ci * @crossplatform 82861847f8eSopenharmony_ci * @atomicservice 82961847f8eSopenharmony_ci * @since 11 83061847f8eSopenharmony_ci */ 83161847f8eSopenharmony_ci enum State { 83261847f8eSopenharmony_ci /** 83361847f8eSopenharmony_ci * the task state is waiting. 83461847f8eSopenharmony_ci * 83561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 83661847f8eSopenharmony_ci * @crossplatform 83761847f8eSopenharmony_ci * @since 10 83861847f8eSopenharmony_ci */ 83961847f8eSopenharmony_ci /** 84061847f8eSopenharmony_ci * the task state is waiting. 84161847f8eSopenharmony_ci * 84261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 84361847f8eSopenharmony_ci * @crossplatform 84461847f8eSopenharmony_ci * @atomicservice 84561847f8eSopenharmony_ci * @since 11 84661847f8eSopenharmony_ci */ 84761847f8eSopenharmony_ci WAITING = 1, 84861847f8eSopenharmony_ci 84961847f8eSopenharmony_ci /** 85061847f8eSopenharmony_ci * the task state is running. 85161847f8eSopenharmony_ci * 85261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 85361847f8eSopenharmony_ci * @crossplatform 85461847f8eSopenharmony_ci * @since 10 85561847f8eSopenharmony_ci */ 85661847f8eSopenharmony_ci /** 85761847f8eSopenharmony_ci * the task state is running. 85861847f8eSopenharmony_ci * 85961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 86061847f8eSopenharmony_ci * @crossplatform 86161847f8eSopenharmony_ci * @atomicservice 86261847f8eSopenharmony_ci * @since 11 86361847f8eSopenharmony_ci */ 86461847f8eSopenharmony_ci RUNNING = 2, 86561847f8eSopenharmony_ci 86661847f8eSopenharmony_ci /** 86761847f8eSopenharmony_ci * the task state is canceled. 86861847f8eSopenharmony_ci * 86961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 87061847f8eSopenharmony_ci * @crossplatform 87161847f8eSopenharmony_ci * @since 10 87261847f8eSopenharmony_ci */ 87361847f8eSopenharmony_ci /** 87461847f8eSopenharmony_ci * the task state is canceled. 87561847f8eSopenharmony_ci * 87661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 87761847f8eSopenharmony_ci * @crossplatform 87861847f8eSopenharmony_ci * @atomicservice 87961847f8eSopenharmony_ci * @since 11 88061847f8eSopenharmony_ci */ 88161847f8eSopenharmony_ci CANCELED = 3 88261847f8eSopenharmony_ci } 88361847f8eSopenharmony_ci 88461847f8eSopenharmony_ci /** 88561847f8eSopenharmony_ci * Indicates the internal information of the worker thread. 88661847f8eSopenharmony_ci * 88761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 88861847f8eSopenharmony_ci * @crossplatform 88961847f8eSopenharmony_ci * @since 10 89061847f8eSopenharmony_ci */ 89161847f8eSopenharmony_ci /** 89261847f8eSopenharmony_ci * Indicates the internal information of the worker thread. 89361847f8eSopenharmony_ci * 89461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 89561847f8eSopenharmony_ci * @crossplatform 89661847f8eSopenharmony_ci * @atomicservice 89761847f8eSopenharmony_ci * @since 11 89861847f8eSopenharmony_ci */ 89961847f8eSopenharmony_ci class TaskInfo { 90061847f8eSopenharmony_ci /** 90161847f8eSopenharmony_ci * Task identity. 90261847f8eSopenharmony_ci * 90361847f8eSopenharmony_ci * @type { number } 90461847f8eSopenharmony_ci * @default 0 90561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 90661847f8eSopenharmony_ci * @crossplatform 90761847f8eSopenharmony_ci * @since 10 90861847f8eSopenharmony_ci */ 90961847f8eSopenharmony_ci /** 91061847f8eSopenharmony_ci * Task identity. 91161847f8eSopenharmony_ci * 91261847f8eSopenharmony_ci * @type { number } 91361847f8eSopenharmony_ci * @default 0 91461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 91561847f8eSopenharmony_ci * @crossplatform 91661847f8eSopenharmony_ci * @atomicservice 91761847f8eSopenharmony_ci * @since 11 91861847f8eSopenharmony_ci */ 91961847f8eSopenharmony_ci taskId: number; 92061847f8eSopenharmony_ci 92161847f8eSopenharmony_ci /** 92261847f8eSopenharmony_ci * Task state. 92361847f8eSopenharmony_ci * 92461847f8eSopenharmony_ci * @type { State } 92561847f8eSopenharmony_ci * @default State::WAITING 92661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 92761847f8eSopenharmony_ci * @crossplatform 92861847f8eSopenharmony_ci * @since 10 92961847f8eSopenharmony_ci */ 93061847f8eSopenharmony_ci /** 93161847f8eSopenharmony_ci * Task state. 93261847f8eSopenharmony_ci * 93361847f8eSopenharmony_ci * @type { State } 93461847f8eSopenharmony_ci * @default State::WAITING 93561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 93661847f8eSopenharmony_ci * @crossplatform 93761847f8eSopenharmony_ci * @atomicservice 93861847f8eSopenharmony_ci * @since 11 93961847f8eSopenharmony_ci */ 94061847f8eSopenharmony_ci state: State; 94161847f8eSopenharmony_ci 94261847f8eSopenharmony_ci /** 94361847f8eSopenharmony_ci * Duration of task execution. 94461847f8eSopenharmony_ci * 94561847f8eSopenharmony_ci * @type { ?number } 94661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 94761847f8eSopenharmony_ci * @crossplatform 94861847f8eSopenharmony_ci * @since 10 94961847f8eSopenharmony_ci */ 95061847f8eSopenharmony_ci /** 95161847f8eSopenharmony_ci * Duration of task execution. 95261847f8eSopenharmony_ci * 95361847f8eSopenharmony_ci * @type { ?number } 95461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 95561847f8eSopenharmony_ci * @crossplatform 95661847f8eSopenharmony_ci * @atomicservice 95761847f8eSopenharmony_ci * @since 11 95861847f8eSopenharmony_ci */ 95961847f8eSopenharmony_ci duration?: number; 96061847f8eSopenharmony_ci 96161847f8eSopenharmony_ci /** 96261847f8eSopenharmony_ci * Task name. 96361847f8eSopenharmony_ci * 96461847f8eSopenharmony_ci * @type { string } 96561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 96661847f8eSopenharmony_ci * @crossplatform 96761847f8eSopenharmony_ci * @atomicservice 96861847f8eSopenharmony_ci * @since 12 96961847f8eSopenharmony_ci */ 97061847f8eSopenharmony_ci name: string; 97161847f8eSopenharmony_ci } 97261847f8eSopenharmony_ci 97361847f8eSopenharmony_ci /** 97461847f8eSopenharmony_ci * Indicates the internal information of the worker thread. 97561847f8eSopenharmony_ci * 97661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 97761847f8eSopenharmony_ci * @crossplatform 97861847f8eSopenharmony_ci * @since 10 97961847f8eSopenharmony_ci */ 98061847f8eSopenharmony_ci /** 98161847f8eSopenharmony_ci * Indicates the internal information of the worker thread. 98261847f8eSopenharmony_ci * 98361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 98461847f8eSopenharmony_ci * @crossplatform 98561847f8eSopenharmony_ci * @atomicservice 98661847f8eSopenharmony_ci * @since 11 98761847f8eSopenharmony_ci */ 98861847f8eSopenharmony_ci class ThreadInfo { 98961847f8eSopenharmony_ci /** 99061847f8eSopenharmony_ci * Thread id. 99161847f8eSopenharmony_ci * 99261847f8eSopenharmony_ci * @type { number } 99361847f8eSopenharmony_ci * @default 0 99461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 99561847f8eSopenharmony_ci * @crossplatform 99661847f8eSopenharmony_ci * @since 10 99761847f8eSopenharmony_ci */ 99861847f8eSopenharmony_ci /** 99961847f8eSopenharmony_ci * Thread id. 100061847f8eSopenharmony_ci * 100161847f8eSopenharmony_ci * @type { number } 100261847f8eSopenharmony_ci * @default 0 100361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 100461847f8eSopenharmony_ci * @crossplatform 100561847f8eSopenharmony_ci * @atomicservice 100661847f8eSopenharmony_ci * @since 11 100761847f8eSopenharmony_ci */ 100861847f8eSopenharmony_ci tid: number; 100961847f8eSopenharmony_ci 101061847f8eSopenharmony_ci /** 101161847f8eSopenharmony_ci * Task id list that running on current thread. 101261847f8eSopenharmony_ci * 101361847f8eSopenharmony_ci * @type { ?number[] } 101461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 101561847f8eSopenharmony_ci * @crossplatform 101661847f8eSopenharmony_ci * @since 10 101761847f8eSopenharmony_ci */ 101861847f8eSopenharmony_ci /** 101961847f8eSopenharmony_ci * Task id list that running on current thread. 102061847f8eSopenharmony_ci * 102161847f8eSopenharmony_ci * @type { ?number[] } 102261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 102361847f8eSopenharmony_ci * @crossplatform 102461847f8eSopenharmony_ci * @atomicservice 102561847f8eSopenharmony_ci * @since 11 102661847f8eSopenharmony_ci */ 102761847f8eSopenharmony_ci taskIds?: number[]; 102861847f8eSopenharmony_ci 102961847f8eSopenharmony_ci /** 103061847f8eSopenharmony_ci * Thread priority. 103161847f8eSopenharmony_ci * 103261847f8eSopenharmony_ci * @type { ?Priority } 103361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 103461847f8eSopenharmony_ci * @crossplatform 103561847f8eSopenharmony_ci * @since 10 103661847f8eSopenharmony_ci */ 103761847f8eSopenharmony_ci /** 103861847f8eSopenharmony_ci * Thread priority. 103961847f8eSopenharmony_ci * 104061847f8eSopenharmony_ci * @type { ?Priority } 104161847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 104261847f8eSopenharmony_ci * @crossplatform 104361847f8eSopenharmony_ci * @atomicservice 104461847f8eSopenharmony_ci * @since 11 104561847f8eSopenharmony_ci */ 104661847f8eSopenharmony_ci priority?: Priority; 104761847f8eSopenharmony_ci } 104861847f8eSopenharmony_ci 104961847f8eSopenharmony_ci /** 105061847f8eSopenharmony_ci * Indicates the internal information of the taskpool. 105161847f8eSopenharmony_ci * 105261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 105361847f8eSopenharmony_ci * @crossplatform 105461847f8eSopenharmony_ci * @since 10 105561847f8eSopenharmony_ci */ 105661847f8eSopenharmony_ci /** 105761847f8eSopenharmony_ci * Indicates the internal information of the taskpool. 105861847f8eSopenharmony_ci * 105961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 106061847f8eSopenharmony_ci * @crossplatform 106161847f8eSopenharmony_ci * @atomicservice 106261847f8eSopenharmony_ci * @since 11 106361847f8eSopenharmony_ci */ 106461847f8eSopenharmony_ci class TaskPoolInfo { 106561847f8eSopenharmony_ci /** 106661847f8eSopenharmony_ci * An array of taskpool thread information. 106761847f8eSopenharmony_ci * 106861847f8eSopenharmony_ci * @type { ThreadInfo[] } 106961847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 107061847f8eSopenharmony_ci * @crossplatform 107161847f8eSopenharmony_ci * @since 10 107261847f8eSopenharmony_ci */ 107361847f8eSopenharmony_ci /** 107461847f8eSopenharmony_ci * An array of taskpool thread information. 107561847f8eSopenharmony_ci * 107661847f8eSopenharmony_ci * @type { ThreadInfo[] } 107761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 107861847f8eSopenharmony_ci * @crossplatform 107961847f8eSopenharmony_ci * @atomicservice 108061847f8eSopenharmony_ci * @since 11 108161847f8eSopenharmony_ci */ 108261847f8eSopenharmony_ci threadInfos: ThreadInfo[]; 108361847f8eSopenharmony_ci 108461847f8eSopenharmony_ci /** 108561847f8eSopenharmony_ci * An array of taskpool task information. 108661847f8eSopenharmony_ci * 108761847f8eSopenharmony_ci * @type { TaskInfo[] } 108861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 108961847f8eSopenharmony_ci * @crossplatform 109061847f8eSopenharmony_ci * @since 10 109161847f8eSopenharmony_ci */ 109261847f8eSopenharmony_ci /** 109361847f8eSopenharmony_ci * An array of taskpool task information. 109461847f8eSopenharmony_ci * 109561847f8eSopenharmony_ci * @type { TaskInfo[] } 109661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 109761847f8eSopenharmony_ci * @crossplatform 109861847f8eSopenharmony_ci * @atomicservice 109961847f8eSopenharmony_ci * @since 11 110061847f8eSopenharmony_ci */ 110161847f8eSopenharmony_ci taskInfos: TaskInfo[]; 110261847f8eSopenharmony_ci } 110361847f8eSopenharmony_ci 110461847f8eSopenharmony_ci /** 110561847f8eSopenharmony_ci * Execute a concurrent function. 110661847f8eSopenharmony_ci * 110761847f8eSopenharmony_ci * @param { Function } func - func func Concurrent function want to execute. 110861847f8eSopenharmony_ci * @param { unknown[] } args - args args The concurrent function arguments. 110961847f8eSopenharmony_ci * @returns { Promise<unknown> } 111061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 111161847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 111261847f8eSopenharmony_ci * 2.Incorrect parameter types; 111361847f8eSopenharmony_ci * 3.Parameter verification failed. 111461847f8eSopenharmony_ci * @throws { BusinessError } 10200003 - Worker initialization failed. 111561847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 111661847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 111761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 111861847f8eSopenharmony_ci * @since 9 111961847f8eSopenharmony_ci */ 112061847f8eSopenharmony_ci /** 112161847f8eSopenharmony_ci * Execute a concurrent function. 112261847f8eSopenharmony_ci * 112361847f8eSopenharmony_ci * @param { Function } func - func func Concurrent function want to execute. 112461847f8eSopenharmony_ci * @param { unknown[] } args - args args The concurrent function arguments. 112561847f8eSopenharmony_ci * @returns { Promise<unknown> } 112661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 112761847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 112861847f8eSopenharmony_ci * 2.Incorrect parameter types; 112961847f8eSopenharmony_ci * 3.Parameter verification failed. 113061847f8eSopenharmony_ci * @throws { BusinessError } 10200003 - Worker initialization failed. 113161847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 113261847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 113361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 113461847f8eSopenharmony_ci * @crossplatform 113561847f8eSopenharmony_ci * @since 10 113661847f8eSopenharmony_ci */ 113761847f8eSopenharmony_ci /** 113861847f8eSopenharmony_ci * Execute a concurrent function. 113961847f8eSopenharmony_ci * 114061847f8eSopenharmony_ci * @param { Function } func - func func Concurrent function want to execute. 114161847f8eSopenharmony_ci * @param { Object[] } args - args args The concurrent function arguments. 114261847f8eSopenharmony_ci * @returns { Promise<Object> } 114361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 114461847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 114561847f8eSopenharmony_ci * 2.Incorrect parameter types; 114661847f8eSopenharmony_ci * 3.Parameter verification failed. 114761847f8eSopenharmony_ci * @throws { BusinessError } 10200003 - Worker initialization failed. 114861847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 114961847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 115061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 115161847f8eSopenharmony_ci * @crossplatform 115261847f8eSopenharmony_ci * @atomicservice 115361847f8eSopenharmony_ci * @since 11 115461847f8eSopenharmony_ci */ 115561847f8eSopenharmony_ci /** 115661847f8eSopenharmony_ci * Execute a concurrent function. 115761847f8eSopenharmony_ci * 115861847f8eSopenharmony_ci * @param { Function } func - func func Concurrent function want to execute. 115961847f8eSopenharmony_ci * @param { Object[] } args - args args The concurrent function arguments. 116061847f8eSopenharmony_ci * @returns { Promise<Object> } 116161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 116261847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 116361847f8eSopenharmony_ci * 2.Incorrect parameter types; 116461847f8eSopenharmony_ci * 3.Parameter verification failed. 116561847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 116661847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 116761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 116861847f8eSopenharmony_ci * @crossplatform 116961847f8eSopenharmony_ci * @atomicservice 117061847f8eSopenharmony_ci * @since 12 117161847f8eSopenharmony_ci */ 117261847f8eSopenharmony_ci function execute(func: Function, ...args: Object[]): Promise<Object>; 117361847f8eSopenharmony_ci 117461847f8eSopenharmony_ci /** 117561847f8eSopenharmony_ci * Execute a concurrent function with generics. 117661847f8eSopenharmony_ci * 117761847f8eSopenharmony_ci * @param { (...args: A) => R | Promise<R> } func - Concurrent function want to execute. 117861847f8eSopenharmony_ci * @param { A } args - The concurrent function arguments. 117961847f8eSopenharmony_ci * @returns { Promise<R> } 118061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed. 118161847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 118261847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 118361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 118461847f8eSopenharmony_ci * @atomicservice 118561847f8eSopenharmony_ci * @since 13 118661847f8eSopenharmony_ci */ 118761847f8eSopenharmony_ci function execute<A extends Array<Object>, R>(func: (...args: A) => R | Promise<R>, ...args: A): Promise<R>; 118861847f8eSopenharmony_ci 118961847f8eSopenharmony_ci /** 119061847f8eSopenharmony_ci * Execute a concurrent task. 119161847f8eSopenharmony_ci * 119261847f8eSopenharmony_ci * @param { Task } task - task task The task want to execute. 119361847f8eSopenharmony_ci * @param { Priority } [priority] - priority priority Task priority, MEDIUM is default. 119461847f8eSopenharmony_ci * @returns { Promise<unknown> } 119561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 119661847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 119761847f8eSopenharmony_ci * 2.Incorrect parameter types; 119861847f8eSopenharmony_ci * 3.Parameter verification failed. 119961847f8eSopenharmony_ci * @throws { BusinessError } 10200003 - Worker initialization failed. 120061847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 120161847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 120261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 120361847f8eSopenharmony_ci * @since 9 120461847f8eSopenharmony_ci */ 120561847f8eSopenharmony_ci /** 120661847f8eSopenharmony_ci * Execute a concurrent task. 120761847f8eSopenharmony_ci * 120861847f8eSopenharmony_ci * @param { Task } task - task task The task want to execute. 120961847f8eSopenharmony_ci * @param { Priority } [priority] - priority priority Task priority, MEDIUM is default. 121061847f8eSopenharmony_ci * @returns { Promise<unknown> } 121161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 121261847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 121361847f8eSopenharmony_ci * 2.Incorrect parameter types; 121461847f8eSopenharmony_ci * 3.Parameter verification failed. 121561847f8eSopenharmony_ci * @throws { BusinessError } 10200003 - Worker initialization failed. 121661847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 121761847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 121861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 121961847f8eSopenharmony_ci * @crossplatform 122061847f8eSopenharmony_ci * @since 10 122161847f8eSopenharmony_ci */ 122261847f8eSopenharmony_ci /** 122361847f8eSopenharmony_ci * Execute a concurrent task. 122461847f8eSopenharmony_ci * 122561847f8eSopenharmony_ci * @param { Task } task - task task The task want to execute. 122661847f8eSopenharmony_ci * @param { Priority } [priority] - priority priority Task priority, MEDIUM is default. 122761847f8eSopenharmony_ci * @returns { Promise<Object> } 122861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 122961847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 123061847f8eSopenharmony_ci * 2.Incorrect parameter types; 123161847f8eSopenharmony_ci * 3.Parameter verification failed. 123261847f8eSopenharmony_ci * @throws { BusinessError } 10200003 - Worker initialization failed. 123361847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 123461847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 123561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 123661847f8eSopenharmony_ci * @crossplatform 123761847f8eSopenharmony_ci * @atomicservice 123861847f8eSopenharmony_ci * @since 11 123961847f8eSopenharmony_ci */ 124061847f8eSopenharmony_ci /** 124161847f8eSopenharmony_ci * Execute a concurrent task. 124261847f8eSopenharmony_ci * 124361847f8eSopenharmony_ci * @param { Task } task - The task want to execute. 124461847f8eSopenharmony_ci * @param { Priority } [priority] - Task priority, MEDIUM is default. 124561847f8eSopenharmony_ci * @returns { Promise<Object> } 124661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 124761847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified; 124861847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 124961847f8eSopenharmony_ci * <br>3. Parameter verification failed. 125061847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 125161847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 125261847f8eSopenharmony_ci * @throws { BusinessError } 10200051 - The periodic task cannot be executed again. 125361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 125461847f8eSopenharmony_ci * @crossplatform 125561847f8eSopenharmony_ci * @atomicservice 125661847f8eSopenharmony_ci * @since 12 125761847f8eSopenharmony_ci */ 125861847f8eSopenharmony_ci function execute(task: Task, priority?: Priority): Promise<Object>; 125961847f8eSopenharmony_ci 126061847f8eSopenharmony_ci /** 126161847f8eSopenharmony_ci * Execute a concurrent task with generics. 126261847f8eSopenharmony_ci * 126361847f8eSopenharmony_ci * @param { GenericsTask<A, R> } task - The task want to execute. 126461847f8eSopenharmony_ci * @param { Priority } [priority] - Task priority, MEDIUM is default. 126561847f8eSopenharmony_ci * @returns { Promise<R> } 126661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed. 126761847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 126861847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 126961847f8eSopenharmony_ci * @throws { BusinessError } 10200051 - The periodic task cannot be executed again. 127061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 127161847f8eSopenharmony_ci * @atomicservice 127261847f8eSopenharmony_ci * @since 13 127361847f8eSopenharmony_ci */ 127461847f8eSopenharmony_ci function execute<A extends Array<Object>, R>(task: GenericsTask<A, R>, priority?: Priority): Promise<R>; 127561847f8eSopenharmony_ci 127661847f8eSopenharmony_ci /** 127761847f8eSopenharmony_ci * Execute a concurrent task group. 127861847f8eSopenharmony_ci * 127961847f8eSopenharmony_ci * @param { TaskGroup } group - group group The task group want to execute. 128061847f8eSopenharmony_ci * @param { Priority } [priority] - priority priority Task group priority, MEDIUM is default. 128161847f8eSopenharmony_ci * @returns { Promise<unknown[]> } 128261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 128361847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 128461847f8eSopenharmony_ci * 2.Incorrect parameter types; 128561847f8eSopenharmony_ci * 3.Parameter verification failed. 128661847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 128761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 128861847f8eSopenharmony_ci * @crossplatform 128961847f8eSopenharmony_ci * @since 10 129061847f8eSopenharmony_ci */ 129161847f8eSopenharmony_ci /** 129261847f8eSopenharmony_ci * Execute a concurrent task group. 129361847f8eSopenharmony_ci * 129461847f8eSopenharmony_ci * @param { TaskGroup } group - group group The task group want to execute. 129561847f8eSopenharmony_ci * @param { Priority } [priority] - priority priority Task group priority, MEDIUM is default. 129661847f8eSopenharmony_ci * @returns { Promise<Object[]> } 129761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 129861847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 129961847f8eSopenharmony_ci * 2.Incorrect parameter types; 130061847f8eSopenharmony_ci * 3.Parameter verification failed. 130161847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 130261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 130361847f8eSopenharmony_ci * @crossplatform 130461847f8eSopenharmony_ci * @atomicservice 130561847f8eSopenharmony_ci * @since 11 130661847f8eSopenharmony_ci */ 130761847f8eSopenharmony_ci function execute(group: TaskGroup, priority?: Priority): Promise<Object[]>; 130861847f8eSopenharmony_ci 130961847f8eSopenharmony_ci /** 131061847f8eSopenharmony_ci * Execute a concurrent task after the specified time. 131161847f8eSopenharmony_ci * 131261847f8eSopenharmony_ci * @param { number } delayTime - delayTime delayTime The time want to delay. 131361847f8eSopenharmony_ci * @param { Task } task - task task The task want to execute. 131461847f8eSopenharmony_ci * @param { Priority } [priority] - priority priority Task priority, MEDIUM is default. 131561847f8eSopenharmony_ci * @returns { Promise<Object> } 131661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 131761847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 131861847f8eSopenharmony_ci * 2.Incorrect parameter types; 131961847f8eSopenharmony_ci * 3.Parameter verification failed. 132061847f8eSopenharmony_ci * @throws { BusinessError } 10200028 - The delayTime is less than zero. 132161847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 132261847f8eSopenharmony_ci * @crossplatform 132361847f8eSopenharmony_ci * @atomicservice 132461847f8eSopenharmony_ci * @since 11 132561847f8eSopenharmony_ci */ 132661847f8eSopenharmony_ci /** 132761847f8eSopenharmony_ci * Execute a concurrent task after the specified time. 132861847f8eSopenharmony_ci * 132961847f8eSopenharmony_ci * @param { number } delayTime - The time want to delay. 133061847f8eSopenharmony_ci * @param { Task } task - The task want to execute. 133161847f8eSopenharmony_ci * @param { Priority } [priority] - Task priority, MEDIUM is default. 133261847f8eSopenharmony_ci * @returns { Promise<Object> } 133361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 133461847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified; 133561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 133661847f8eSopenharmony_ci * <br>3. Parameter verification failed. 133761847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 133861847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 133961847f8eSopenharmony_ci * @throws { BusinessError } 10200028 - The delayTime is less than zero. 134061847f8eSopenharmony_ci * @throws { BusinessError } 10200051 - The periodic task cannot be executed again. 134161847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 134261847f8eSopenharmony_ci * @crossplatform 134361847f8eSopenharmony_ci * @atomicservice 134461847f8eSopenharmony_ci * @since 12 134561847f8eSopenharmony_ci */ 134661847f8eSopenharmony_ci function executeDelayed(delayTime: number, task: Task, priority?: Priority): Promise<Object>; 134761847f8eSopenharmony_ci 134861847f8eSopenharmony_ci /** 134961847f8eSopenharmony_ci * Execute a concurrent task with generics after the specified time. 135061847f8eSopenharmony_ci * 135161847f8eSopenharmony_ci * @param { number } delayTime - The time want to delay. 135261847f8eSopenharmony_ci * @param { GenericsTask<A, R> } task - The task want to execute. 135361847f8eSopenharmony_ci * @param { Priority } [priority] - Task priority, MEDIUM is default. 135461847f8eSopenharmony_ci * @returns { Promise<R> } 135561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed. 135661847f8eSopenharmony_ci * @throws { BusinessError } 10200028 - The delayTime is less than zero. 135761847f8eSopenharmony_ci * @throws { BusinessError } 10200051 - The periodic task cannot be executed again. 135861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 135961847f8eSopenharmony_ci * @atomicservice 136061847f8eSopenharmony_ci * @since 13 136161847f8eSopenharmony_ci */ 136261847f8eSopenharmony_ci function executeDelayed<A extends Array<Object>, R>(delayTime: number, task: GenericsTask<A, R>, priority?: Priority): Promise<R>; 136361847f8eSopenharmony_ci 136461847f8eSopenharmony_ci /** 136561847f8eSopenharmony_ci * Execute a concurrent task periodically. 136661847f8eSopenharmony_ci * 136761847f8eSopenharmony_ci * @param { number } period - The period in milliseconds for executing task. 136861847f8eSopenharmony_ci * @param { Task } task - The task want to execute. 136961847f8eSopenharmony_ci * @param { Priority } [priority] - Task priority, MEDIUM is default. 137061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 137161847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified; 137261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 137361847f8eSopenharmony_ci * <br>3. Parameter verification failed. 137461847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 137561847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 137661847f8eSopenharmony_ci * @throws { BusinessError } 10200028 - The period is less than zero. 137761847f8eSopenharmony_ci * @throws { BusinessError } 10200050 - The concurrent task has been executed and cannot be executed periodically. 137861847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 137961847f8eSopenharmony_ci * @crossplatform 138061847f8eSopenharmony_ci * @atomicservice 138161847f8eSopenharmony_ci * @since 12 138261847f8eSopenharmony_ci */ 138361847f8eSopenharmony_ci function executePeriodically(period: number, task: Task, priority?: Priority): void; 138461847f8eSopenharmony_ci 138561847f8eSopenharmony_ci /** 138661847f8eSopenharmony_ci * Execute a concurrent task with generics periodically. 138761847f8eSopenharmony_ci * 138861847f8eSopenharmony_ci * @param { number } period - The period in milliseconds for executing task. 138961847f8eSopenharmony_ci * @param { GenericsTask<A, R> } task - The task want to execute. 139061847f8eSopenharmony_ci * @param { Priority } [priority] - Task priority, MEDIUM is default. 139161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed. 139261847f8eSopenharmony_ci * @throws { BusinessError } 10200006 - An exception occurred during serialization. 139361847f8eSopenharmony_ci * @throws { BusinessError } 10200014 - The function is not marked as concurrent. 139461847f8eSopenharmony_ci * @throws { BusinessError } 10200028 - The period is less than zero. 139561847f8eSopenharmony_ci * @throws { BusinessError } 10200050 - The concurrent task has been executed and cannot be executed periodically. 139661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 139761847f8eSopenharmony_ci * @atomicservice 139861847f8eSopenharmony_ci * @since 13 139961847f8eSopenharmony_ci */ 140061847f8eSopenharmony_ci function executePeriodically<A extends Array<Object>, R>(period: number, task: GenericsTask<A, R>, priority?: Priority): void; 140161847f8eSopenharmony_ci 140261847f8eSopenharmony_ci /** 140361847f8eSopenharmony_ci * Cancel a concurrent task. 140461847f8eSopenharmony_ci * 140561847f8eSopenharmony_ci * @param { Task } task - task task The task want to cancel. 140661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 140761847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 140861847f8eSopenharmony_ci * 2.Incorrect parameter types; 140961847f8eSopenharmony_ci * 3.Parameter verification failed. 141061847f8eSopenharmony_ci * @throws { BusinessError } 10200015 - The task to cancel does not exist. 141161847f8eSopenharmony_ci * @throws { BusinessError } 10200016 - The task to cancel is being executed. 141261847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 141361847f8eSopenharmony_ci * @since 9 141461847f8eSopenharmony_ci */ 141561847f8eSopenharmony_ci /** 141661847f8eSopenharmony_ci * Cancel a concurrent task. 141761847f8eSopenharmony_ci * 141861847f8eSopenharmony_ci * @param { Task } task - task task The task want to cancel. 141961847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 142061847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 142161847f8eSopenharmony_ci * 2.Incorrect parameter types; 142261847f8eSopenharmony_ci * 3.Parameter verification failed. 142361847f8eSopenharmony_ci * @throws { BusinessError } 10200015 - The task to cancel does not exist. 142461847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 142561847f8eSopenharmony_ci * @crossplatform 142661847f8eSopenharmony_ci * @since 10 142761847f8eSopenharmony_ci */ 142861847f8eSopenharmony_ci /** 142961847f8eSopenharmony_ci * Cancel a concurrent task. 143061847f8eSopenharmony_ci * 143161847f8eSopenharmony_ci * @param { Task } task - task task The task want to cancel. 143261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 143361847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 143461847f8eSopenharmony_ci * 2.Incorrect parameter types; 143561847f8eSopenharmony_ci * 3.Parameter verification failed. 143661847f8eSopenharmony_ci * @throws { BusinessError } 10200015 - The task to cancel does not exist. 143761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 143861847f8eSopenharmony_ci * @crossplatform 143961847f8eSopenharmony_ci * @atomicservice 144061847f8eSopenharmony_ci * @since 11 144161847f8eSopenharmony_ci */ 144261847f8eSopenharmony_ci function cancel(task: Task): void; 144361847f8eSopenharmony_ci 144461847f8eSopenharmony_ci /** 144561847f8eSopenharmony_ci * Cancel a concurrent task group. 144661847f8eSopenharmony_ci * 144761847f8eSopenharmony_ci * @param { TaskGroup } group - group group The task group want to cancel. 144861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 144961847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 145061847f8eSopenharmony_ci * 2.Incorrect parameter types; 145161847f8eSopenharmony_ci * 3.Parameter verification failed. 145261847f8eSopenharmony_ci * @throws { BusinessError } 10200018 - The task group to cancel does not exist. 145361847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 145461847f8eSopenharmony_ci * @crossplatform 145561847f8eSopenharmony_ci * @since 10 145661847f8eSopenharmony_ci */ 145761847f8eSopenharmony_ci /** 145861847f8eSopenharmony_ci * Cancel a concurrent task group. 145961847f8eSopenharmony_ci * 146061847f8eSopenharmony_ci * @param { TaskGroup } group - group group The task group want to cancel. 146161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 146261847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 146361847f8eSopenharmony_ci * 2.Incorrect parameter types; 146461847f8eSopenharmony_ci * 3.Parameter verification failed. 146561847f8eSopenharmony_ci * @throws { BusinessError } 10200018 - The task group to cancel does not exist. 146661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 146761847f8eSopenharmony_ci * @crossplatform 146861847f8eSopenharmony_ci * @atomicservice 146961847f8eSopenharmony_ci * @since 11 147061847f8eSopenharmony_ci */ 147161847f8eSopenharmony_ci function cancel(group: TaskGroup): void; 147261847f8eSopenharmony_ci 147361847f8eSopenharmony_ci /** 147461847f8eSopenharmony_ci * Get task pool internal information. 147561847f8eSopenharmony_ci * 147661847f8eSopenharmony_ci * @returns { TaskPoolInfo } 147761847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 147861847f8eSopenharmony_ci * @crossplatform 147961847f8eSopenharmony_ci * @since 10 148061847f8eSopenharmony_ci */ 148161847f8eSopenharmony_ci /** 148261847f8eSopenharmony_ci * Get task pool internal information. 148361847f8eSopenharmony_ci * 148461847f8eSopenharmony_ci * @returns { TaskPoolInfo } 148561847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 148661847f8eSopenharmony_ci * @crossplatform 148761847f8eSopenharmony_ci * @atomicservice 148861847f8eSopenharmony_ci * @since 11 148961847f8eSopenharmony_ci */ 149061847f8eSopenharmony_ci function getTaskPoolInfo(): TaskPoolInfo; 149161847f8eSopenharmony_ci 149261847f8eSopenharmony_ci /** 149361847f8eSopenharmony_ci * Terminate a long task. 149461847f8eSopenharmony_ci * 149561847f8eSopenharmony_ci * @param { LongTask } longTask - The long task want to terminate. 149661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 149761847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 149861847f8eSopenharmony_ci * 2.Incorrect parameter types; 149961847f8eSopenharmony_ci * 3.Parameter verification failed. 150061847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 150161847f8eSopenharmony_ci * @crossplatform 150261847f8eSopenharmony_ci * @atomicservice 150361847f8eSopenharmony_ci * @since 12 150461847f8eSopenharmony_ci */ 150561847f8eSopenharmony_ci function terminateTask(longTask: LongTask): void; 150661847f8eSopenharmony_ci 150761847f8eSopenharmony_ci /** 150861847f8eSopenharmony_ci * Check if the function is a concurrent function. 150961847f8eSopenharmony_ci * 151061847f8eSopenharmony_ci * @param { Function } func - The function name to check. 151161847f8eSopenharmony_ci * @returns { boolean } Returns {@code true} if it is a concurrent function; returns {@code false} otherwise. 151261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 151361847f8eSopenharmony_ci * 1.Mandatory parameters are left unspecified; 151461847f8eSopenharmony_ci * 2.Incorrect parameter types; 151561847f8eSopenharmony_ci * 3.Parameter verification failed. 151661847f8eSopenharmony_ci * @syscap SystemCapability.Utils.Lang 151761847f8eSopenharmony_ci * @crossplatform 151861847f8eSopenharmony_ci * @atomicservice 151961847f8eSopenharmony_ci * @since 12 152061847f8eSopenharmony_ci */ 152161847f8eSopenharmony_ci function isConcurrent(func: Function): boolean; 152261847f8eSopenharmony_ci} 152361847f8eSopenharmony_ci 152461847f8eSopenharmony_ciexport default taskpool; 1525