提交 ed49a7cc 编写于 作者: W wusongqing

updated docs

Signed-off-by: Nwusongqing <wusongqing@huawei.com>
上级 5241b375
# Ability Access Control
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
> The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.
## Modules to Import
```
import abilityAccessCtrl from '@ohos.abilityAccessCtrl'
```
## System Capabilities
SystemCapability.Security.AccessToken
## abilityAccessCtrl.createAtManager
createAtManager(): AtManager
Creates an **AtManager** instance, which is used for ability access control.
**Return value**
| Type| Description|
| -------- | -------- |
| [AtManager](#atmanager) | **AtManager** instance obtained.|
**Example**
```
var AtManager = abilityAccessCtrl.createAtManager();
```
## AtManager
Implements ability access control.
### verifyAccessToken
verifyAccessToken(tokenID: number, permissionName: string): Promise&lt;GrantStatus&gt;
Checks whether an application has been granted the specified permission. This method uses a promise to return the result.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | ------------------- | ---- | ------------------------------------------ |
| tokenID | number | Yes| ID of the application.|
| permissionName | string | Yes| Name of the permission to verify.|
**Return value**
| Type| Description|
| :------------ | :---------------------------------- |
| Promise&lt;GrantStatus&gt; | Promise instance used to return the result.|
**Example**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.verifyAccessToken(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### grantUserGrantedPermission
grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise&lt;number&gt;
Grants a user granted permission to an application. This method uses a promise to return the result.
Required permission: ohos.permission.GRANT_SENSITIVE_PERMISSIONS
**Parameters**
| Name| Type| Mandatory| Description|
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | Yes| ID of the application.|
| permissionName | string | Yes| Name of the permission to grant.|
| permissionFlag | number | Yes| Permission flag. The value **1** means that a dialog box will still be displayed after the user grants or denies the permission. The value **2** means that no dialog box will be displayed after the user grants or denies the permission. The value **3** means a system permission that cannot be changed.|
**Return value**
| Type| Description|
| :------------ | :---------------------------------- |
| Promise&lt;number&gt; | Promise instance used to return the result.|
**Example**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### grantUserGrantedPermission
grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback&lt;number&gt;): void
Grants a user granted permission to an application. This method uses an asynchronous callback to return the result.
Required permission: ohos.permission.GRANT_SENSITIVE_PERMISSIONS
**Parameters**
| Name| Type| Mandatory| Description|
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | Yes| ID of the application.|
| permissionName | string | Yes| Name of the permission to grant.|
| permissionFlag | number | Yes| Permission flag. The value **1** means that a dialog box will still be displayed after the user grants or denies the permission. The value **2** means that no dialog box will be displayed after the user grants or denies the permission. The value **3** means a system permission that cannot be changed.|
| callback | AsyncCallback&lt;number&gt; | Yes| Callback used to return the result.|
**Example**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
### revokeUserGrantedPermission
revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise&lt;number&gt;
Revokes a user granted permission given to an application. This method uses a promise to return the result.
Required permission: ohos.permission.REVOKE_SENSITIVE_PERMISSIONS
**Parameters**
| Name| Type| Mandatory| Description|
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | Yes| ID of the application.|
| permissionName | string | Yes| Name of the permission to revoke.|
| permissionFlag | number | Yes| Permission flag. The value **1** means that a dialog box will still be displayed after the user grants or denies the permission. The value **2** means that no dialog box will be displayed after the user grants or denies the permission. The value **3** means a system permission that cannot be changed.|
**Return value**
| Type| Description|
| :------------ | :---------------------------------- |
| Promise&lt;number&gt; | Promise instance used to return the result.|
**Example**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
let promise = AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", permissionFlag);
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### revokeUserGrantedPermission
revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback&lt;number&gt;): void
Revokes a user granted permission given to an application. This method uses an asynchronous callback to return the result.
Required permission: ohos.permission.REVOKE_SENSITIVE_PERMISSIONS
**Parameters**
| Name| Type| Mandatory| Description|
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | Yes| ID of the application.|
| permissionName | string | Yes| Name of the permission to revoke.|
| permissionFlag | number | Yes| Permission flag. The value **1** means that a dialog box will still be displayed after the user grants or denies the permission. The value **2** means that no dialog box will be displayed after the user grants or denies the permission. The value **3** means a system permission that cannot be changed.|
| callback | AsyncCallback&lt;number&gt; | Yes| Callback used to return the result.|
**Example**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
### getPermissionFlags
getPermissionFlags(tokenID: number, permissionName: string): Promise&lt;number&gt;
Obtains the flags of the specified permission of a given application. This method uses a promise to return the result.
**Parameters**
| Name| Type| Mandatory| Description|
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | Yes| ID of the application.|
| permissionName | string | Yes| Name of the permission to query.|
**Return value**
| Type| Description|
| :------------ | :---------------------------------- |
| Promise&lt;number&gt; | Promise instance used to return the result.|
**Example**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.getPermissionFlags(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
# XML-to-JavaScript Conversion<a name="EN-US_TOPIC_0000001196742158"></a>
# XML-to-JavaScript Conversion
>![](public_sys-resources/icon-note.gif) **NOTE:**
>The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.
> **NOTE**
> The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.
## Modules to Import<a name="s56d19203690d4782bfc74069abb6bd71"></a>
## Modules to Import
```
import convertxml from '@ohos.convertxml';
```
## Required Permissions<a name="section11257113618419"></a>
None
## ConvertXML<a name="section143808167355"></a>
### convert<a name="section518224213325"></a>
convert\(xml: string, options?: ConvertOptions\) : Object
## System Capabilities
Converts an XML text into a JavaScript object.
- Parameters
<a name="table114831131512"></a>
<table><thead align="left"><tr id="row914851141517"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p214819113159"><a name="p214819113159"></a><a name="p214819113159"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p1214921121519"><a name="p1214921121519"></a><a name="p1214921121519"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p11491711141512"><a name="p11491711141512"></a><a name="p11491711141512"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p171491011171512"><a name="p171491011171512"></a><a name="p171491011171512"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row91491211131519"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p114158183811"><a name="p114158183811"></a><a name="p114158183811"></a>xml</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p1114918116154"><a name="p1114918116154"></a><a name="p1114918116154"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p314916118154"><a name="p314916118154"></a><a name="p314916118154"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p814951171516"><a name="p814951171516"></a><a name="p814951171516"></a>XML text to convert.</p>
</td>
</tr>
<tr id="row5149511191511"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p161491511151511"><a name="p161491511151511"></a><a name="p161491511151511"></a>options</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p15196201663916"><a name="p15196201663916"></a><a name="p15196201663916"></a><a href="#section843574515413">ConvertOptions</a></p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p61491811131518"><a name="p61491811131518"></a><a name="p61491811131518"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p17372181015412"><a name="p17372181015412"></a><a name="p17372181015412"></a>Settings of the convert operation.</p>
</td>
</tr>
</tbody>
</table>
SystemCapability.Utils.Lang
- Return values
## ConvertXML
<a name="table115061181517"></a>
<table><thead align="left"><tr id="row1150161121510"><th class="cellrowborder" valign="top" width="17.01%" id="mcps1.1.3.1.1"><p id="p1015015113159"><a name="p1015015113159"></a><a name="p1015015113159"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="82.99%" id="mcps1.1.3.1.2"><p id="p2150211201512"><a name="p2150211201512"></a><a name="p2150211201512"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row17150811131514"><td class="cellrowborder" valign="top" width="17.01%" headers="mcps1.1.3.1.1 "><p id="p1150161110157"><a name="p1150161110157"></a><a name="p1150161110157"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="82.99%" headers="mcps1.1.3.1.2 "><p id="p51501611141518"><a name="p51501611141518"></a><a name="p51501611141518"></a>JavaScript object.</p>
</td>
</tr>
</tbody>
</table>
- Example
### convert
```
var xml =
'<?xml version="1.0" encoding="utf-8"?>' +
'<note importance="high" logged="true">' +
' <title>Happy</title>' +
' <todo>Work</todo>' +
' <todo>Play</todo>' +
'</note>';
var conv = new convertxml.ConvertXML();
var result1 = conv.convert(xml, {trim: false, ignoreDeclaration: false});
console.log(result1)
```
convert(xml: string, options?: ConvertOptions) : Object
Converts an XML text into a JavaScript object.
## ConvertOptions<a name="section843574515413"></a>
<a name="table468420114018"></a>
<table><thead align="left"><tr id="row1768412134017"><th class="cellrowborder" valign="top" width="17.549999999999997%" id="mcps1.1.5.1.1"><p id="p86842124013"><a name="p86842124013"></a><a name="p86842124013"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.03%" id="mcps1.1.5.1.2"><p id="p16848194014"><a name="p16848194014"></a><a name="p16848194014"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="11.16%" id="mcps1.1.5.1.3"><p id="p146848118406"><a name="p146848118406"></a><a name="p146848118406"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="55.26%" id="mcps1.1.5.1.4"><p id="p66848113409"><a name="p66848113409"></a><a name="p66848113409"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row96841013407"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p1285031713269"><a name="p1285031713269"></a><a name="p1285031713269"></a>trim</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p368421104017"><a name="p368421104017"></a><a name="p368421104017"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p17684818404"><a name="p17684818404"></a><a name="p17684818404"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p9845227114216"><a name="p9845227114216"></a><a name="p9845227114216"></a>Whether to trim the whitespace characters before and after the text. The default value is <strong id="b6928115525311"><a name="b6928115525311"></a><a name="b6928115525311"></a>false</strong>.</p>
</td>
</tr>
<tr id="row13751843114014"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p11938165615400"><a name="p11938165615400"></a><a name="p11938165615400"></a>ignoreDeclaration</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p67614394017"><a name="p67614394017"></a><a name="p67614394017"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p1676154394020"><a name="p1676154394020"></a><a name="p1676154394020"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p4833610345"><a name="p4833610345"></a><a name="p4833610345"></a>Whether to ignore the XML declaration. The default value is <strong id="b1986182720517"><a name="b1986182720517"></a><a name="b1986182720517"></a>false</strong>.</p>
</td>
</tr>
<tr id="row7473642142619"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p134733429261"><a name="p134733429261"></a><a name="p134733429261"></a>ignoreInstruction</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p1922562513291"><a name="p1922562513291"></a><a name="p1922562513291"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p10671250142915"><a name="p10671250142915"></a><a name="p10671250142915"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p142083683419"><a name="p142083683419"></a><a name="p142083683419"></a>Whether to ignore the XML processing instruction. The default value is <strong id="b9507112714198"><a name="b9507112714198"></a><a name="b9507112714198"></a>false</strong>.</p>
</td>
</tr>
<tr id="row3747194620264"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p12748134611264"><a name="p12748134611264"></a><a name="p12748134611264"></a>ignoreAttributes</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p1624022512911"><a name="p1624022512911"></a><a name="p1624022512911"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p107925092913"><a name="p107925092913"></a><a name="p107925092913"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p15291036153412"><a name="p15291036153412"></a><a name="p15291036153412"></a>Whether to print attributes across multiple lines and indent attributes. The default value is <strong id="b214910972014"><a name="b214910972014"></a><a name="b214910972014"></a>false</strong>.</p>
</td>
</tr>
<tr id="row42161882710"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p42141812713"><a name="p42141812713"></a><a name="p42141812713"></a>ignoreComment</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p152529252294"><a name="p152529252294"></a><a name="p152529252294"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p209114502296"><a name="p209114502296"></a><a name="p209114502296"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p8391736163418"><a name="p8391736163418"></a><a name="p8391736163418"></a>Whether to ignore element comments. The default value is <strong id="b12921132182012"><a name="b12921132182012"></a><a name="b12921132182012"></a>false</strong>.</p>
</td>
</tr>
<tr id="row147582020279"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p12476720122715"><a name="p12476720122715"></a><a name="p12476720122715"></a>ignoreCDATA</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p11264112552918"><a name="p11264112552918"></a><a name="p11264112552918"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p11102115013297"><a name="p11102115013297"></a><a name="p11102115013297"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p28461623102316"><a name="p28461623102316"></a><a name="p28461623102316"></a>Whether to ignore the element's CDATA information. The default value is <strong id="b8400141332617"><a name="b8400141332617"></a><a name="b8400141332617"></a>false</strong>.</p>
</td>
</tr>
<tr id="row36451623142711"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p464642310271"><a name="p464642310271"></a><a name="p464642310271"></a>ignoreDoctype</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p19275172515291"><a name="p19275172515291"></a><a name="p19275172515291"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p811405092919"><a name="p811405092919"></a><a name="p811405092919"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p462436183414"><a name="p462436183414"></a><a name="p462436183414"></a>Whether to ignore the element's <strong id="b1644365410213"><a name="b1644365410213"></a><a name="b1644365410213"></a>Doctype</strong> information. The default value is <strong id="b38201991221"><a name="b38201991221"></a><a name="b38201991221"></a>false</strong>.</p>
</td>
</tr>
<tr id="row156014265276"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p760132618270"><a name="p760132618270"></a><a name="p760132618270"></a>ignoreText</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p12286925122914"><a name="p12286925122914"></a><a name="p12286925122914"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p812517503295"><a name="p812517503295"></a><a name="p812517503295"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p67643663417"><a name="p67643663417"></a><a name="p67643663417"></a>Whether to ignore the element's text information. The default value is <strong id="b21731940182214"><a name="b21731940182214"></a><a name="b21731940182214"></a>false</strong>.</p>
</td>
</tr>
<tr id="row19613162818273"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p1361314282278"><a name="p1361314282278"></a><a name="p1361314282278"></a>declarationKey</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p9757637182919"><a name="p9757637182919"></a><a name="p9757637182919"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p1414014508297"><a name="p1414014508297"></a><a name="p1414014508297"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p1461412852710"><a name="p1461412852710"></a><a name="p1461412852710"></a>Name of the attribute key for <strong id="b7197102842416"><a name="b7197102842416"></a><a name="b7197102842416"></a>declaration</strong> in the output object. The default value is <strong id="b92387720242"><a name="b92387720242"></a><a name="b92387720242"></a>_declaration</strong>.</p>
</td>
</tr>
<tr id="row14361103817276"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p1736123832715"><a name="p1736123832715"></a><a name="p1736123832715"></a>instructionKey</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p11770173719299"><a name="p11770173719299"></a><a name="p11770173719299"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p41521150152912"><a name="p41521150152912"></a><a name="p41521150152912"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p336283815279"><a name="p336283815279"></a><a name="p336283815279"></a>Name of the attribute key for <strong id="b978125313248"><a name="b978125313248"></a><a name="b978125313248"></a>instruction</strong> in the output object. The default value is <strong id="b2459142611"><a name="b2459142611"></a><a name="b2459142611"></a>_instruction</strong>.</p>
</td>
</tr>
<tr id="row154132912288"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p7414898284"><a name="p7414898284"></a><a name="p7414898284"></a>attributesKey</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p8780133711290"><a name="p8780133711290"></a><a name="p8780133711290"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p121661150172920"><a name="p121661150172920"></a><a name="p121661150172920"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p7608142813588"><a name="p7608142813588"></a><a name="p7608142813588"></a>Name of the attribute key for <strong id="b9204185112618"><a name="b9204185112618"></a><a name="b9204185112618"></a>attributes</strong> in the output object. The default value is <strong id="b392414585262"><a name="b392414585262"></a><a name="b392414585262"></a>_attributes</strong>.</p>
</td>
</tr>
<tr id="row376713618283"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p1676846172816"><a name="p1676846172816"></a><a name="p1676846172816"></a>textKey</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p117908373291"><a name="p117908373291"></a><a name="p117908373291"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p217819501294"><a name="p217819501294"></a><a name="p217819501294"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p0344122145814"><a name="p0344122145814"></a><a name="p0344122145814"></a>Name of the attribute key for <strong id="b851743532718"><a name="b851743532718"></a><a name="b851743532718"></a>text</strong> in the output object. The default value is <strong id="b350917477273"><a name="b350917477273"></a><a name="b350917477273"></a>_text</strong>.</p>
</td>
</tr>
<tr id="row15340164284"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p353512166284"><a name="p353512166284"></a><a name="p353512166284"></a>cdataKey</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p1879923716291"><a name="p1879923716291"></a><a name="p1879923716291"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p20192150122911"><a name="p20192150122911"></a><a name="p20192150122911"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p475618155581"><a name="p475618155581"></a><a name="p475618155581"></a>Name of the attribute key for <strong id="b26841859132720"><a name="b26841859132720"></a><a name="b26841859132720"></a>CDATA</strong> in the output object. The default value is <strong id="b1586013185285"><a name="b1586013185285"></a><a name="b1586013185285"></a>_cdata</strong>.</p>
</td>
</tr>
<tr id="row15657131913280"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p0657619172820"><a name="p0657619172820"></a><a name="p0657619172820"></a>doctypeKey</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p1981023772916"><a name="p1981023772916"></a><a name="p1981023772916"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p820416508292"><a name="p820416508292"></a><a name="p820416508292"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p0979042154918"><a name="p0979042154918"></a><a name="p0979042154918"></a>Name of the attribute key for <strong id="b34439596306"><a name="b34439596306"></a><a name="b34439596306"></a>Doctype</strong> in the output object. The default value is <strong id="b022043913329"><a name="b022043913329"></a><a name="b022043913329"></a>_doctype</strong>.</p>
</td>
</tr>
<tr id="row1537652212285"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p53761822172816"><a name="p53761822172816"></a><a name="p53761822172816"></a>commentKey</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p14821103792913"><a name="p14821103792913"></a><a name="p14821103792913"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p1621525019292"><a name="p1621525019292"></a><a name="p1621525019292"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p748535519570"><a name="p748535519570"></a><a name="p748535519570"></a>Name of the attribute key for <strong id="b12533205423211"><a name="b12533205423211"></a><a name="b12533205423211"></a>comment</strong> in the output object. The default value is <strong id="b105967633313"><a name="b105967633313"></a><a name="b105967633313"></a>_comment</strong>.</p>
</td>
</tr>
<tr id="row1477410253283"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p577414255288"><a name="p577414255288"></a><a name="p577414255288"></a>parentKey</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p188311537202915"><a name="p188311537202915"></a><a name="p188311537202915"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p22272050172916"><a name="p22272050172916"></a><a name="p22272050172916"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p1599716428492"><a name="p1599716428492"></a><a name="p1599716428492"></a>Name of the attribute key for <strong id="b18469936103317"><a name="b18469936103317"></a><a name="b18469936103317"></a>parent</strong> in the output object. The default value is <strong id="b5277443163312"><a name="b5277443163312"></a><a name="b5277443163312"></a>_parent</strong>.</p>
</td>
</tr>
<tr id="row149011555192811"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p49016556281"><a name="p49016556281"></a><a name="p49016556281"></a>typeKey</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p483913752918"><a name="p483913752918"></a><a name="p483913752918"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p1723965042916"><a name="p1723965042916"></a><a name="p1723965042916"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p1568738115715"><a name="p1568738115715"></a><a name="p1568738115715"></a>Name of the attribute key for <strong id="b562120374361"><a name="b562120374361"></a><a name="b562120374361"></a>type</strong> in the output object. The default value is <strong id="b1182815436368"><a name="b1182815436368"></a><a name="b1182815436368"></a>_type</strong>.</p>
</td>
</tr>
<tr id="row8724165922815"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p7724459112819"><a name="p7724459112819"></a><a name="p7724459112819"></a>nameKey</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p584703718296"><a name="p584703718296"></a><a name="p584703718296"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p3664145120292"><a name="p3664145120292"></a><a name="p3664145120292"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p159295216567"><a name="p159295216567"></a><a name="p159295216567"></a>Name of the attribute key for <strong id="b959742613717"><a name="b959742613717"></a><a name="b959742613717"></a>name</strong> in the output object. The default value is <strong id="b2605034203717"><a name="b2605034203717"></a><a name="b2605034203717"></a>_name</strong>.</p>
</td>
</tr>
<tr id="row939021212917"><td class="cellrowborder" valign="top" width="17.549999999999997%" headers="mcps1.1.5.1.1 "><p id="p17390161272918"><a name="p17390161272918"></a><a name="p17390161272918"></a>elementsKey</p>
</td>
<td class="cellrowborder" valign="top" width="16.03%" headers="mcps1.1.5.1.2 "><p id="p168568373295"><a name="p168568373295"></a><a name="p168568373295"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="11.16%" headers="mcps1.1.5.1.3 "><p id="p36771451152914"><a name="p36771451152914"></a><a name="p36771451152914"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.1.5.1.4 "><p id="p62794384910"><a name="p62794384910"></a><a name="p62794384910"></a>Name of the attribute key for <strong id="b116698498376"><a name="b116698498376"></a><a name="b116698498376"></a>elements</strong> in the output object. The default value is <strong id="b1054145814374"><a name="b1054145814374"></a><a name="b1054145814374"></a>_elements</strong>.</p>
</td>
</tr>
</tbody>
</table>
- Parameters
| Name| Type| Mandatory| Description|
| ------- | --------------------------------- | ---- | ------------------ |
| xml | string | Yes| XML text to convert.|
| options | [ConvertOptions](#convertoptions) | No| Settings of the convert operation.|
- Return value
| Type| Description|
| ------ | ---------------------------- |
| string | JavaScript object.|
- Example
```
var xml =
'<?xml version="1.0" encoding="utf-8"?>' +
'<note importance="high" logged="true">' +
' <title>Happy</title>' +
' <todo>Work</todo>' +
' <todo>Play</todo>' +
'</note>';
var conv = new convertxml.ConvertXML();
var result1 = conv.convert(xml, {trim: false, ignoreDeclaration: false});
console.log(result1)
```
## ConvertOptions
| Name| Type| Mandatory| Description|
| ----------------- | -------- | ---- | ----------------------------------------------------------- |
| trim | boolean | No| Whether to trim the whitespace characters before and after the text. The default value is **false**.|
| ignoreDeclaration | boolean | No| Whether to ignore the XML declaration. The default value is **false**.|
| ignoreInstruction | boolean | No| Whether to ignore the XML processing instruction. The default value is **false**.|
| ignoreAttributes | boolean | No| Whether to print attributes across multiple lines and indent attributes. The default value is **false**.|
| ignoreComment | boolean | No| Whether to ignore element comments. The default value is **false**.|
| ignoreCDATA | boolean | No| Whether to ignore the element's CDATA information. The default value is **false**.|
| ignoreDoctype | boolean | No| Whether to ignore the element's Doctype information. The default value is **false**.|
| ignoreText | boolean | No| Whether to ignore the element's text information. The default value is **false**.|
| declarationKey | string | No| Name of the attribute key for **declaration** in the output object. The default value is **_declaration**.|
| instructionKey | string | No| Name of the attribute key for **instruction** in the output object. The default value is **_instruction**.|
| attributesKey | string | No| Name of the attribute key for **attributes** in the output object. The default value is **_attributes**.|
| textKey | string | No| Name of the attribute key for **text** in the output object. The default value is **_text**.|
| cdataKey | string | No| Name of the attribute key for **CDATA** in the output object. The default value is **_cdata**.|
| doctypeKey | string | No| Name of the attribute key for **Doctype** in the output object. The default value is **_doctype**.|
| commentKey | string | No| Name of the attribute key for **comment** in the output object. The default value is **_comment**.|
| parentKey | string | No| Name of the attribute key for **parent** in the output object. The default value is **_parent**.|
| typeKey | string | No| Name of the attribute key for **type** in the output object. The default value is **_type**.|
| nameKey | string | No| Name of the attribute key for **name** in the output object. The default value is **_name**.|
| elementsKey | string | No| Name of the attribute key for **elements** in the output object. The default value is **_elements**.|
......@@ -44,13 +44,15 @@ querySelfFaultLog(faultType: FaultType, callback: AsyncCallback&lt;Array&lt;Faul
Obtains the fault information about the current process. This method uses a callback to return the fault information array obtained, which contains a maximum of 10 pieces of fault information.
- Parameters
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| faultType | [FaultType](#faulttype) | Yes| Fault type.|
| callback | AsyncCallbackArray&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | Yes| Callback used to return the fault information array. <br/>The value is the fault information array obtained. If the value is **undefined**, an exception occurs during the information retrieval. In this case, an error string will be returned.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| faultType | [FaultType](#faulttype) | Yes| Fault type.|
| callback | AsyncCallbackArray&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | Yes| Callback used to return the fault information array. <br/>The value is the fault information array obtained. If the value is **undefined**, an exception occurs during the information retrieval. In this case, an error string will be returned.
**Example**
- Example
```
function queryFaultLogCallback(error, value) {
if (error) {
......@@ -80,17 +82,20 @@ querySelfFaultLog(faultType: FaultType) : Promise&lt;Array&lt;FaultLogInfo&gt;&g
Obtains the fault information about the current process. This method uses a promise to return the fault information array obtained, which contains a maximum of 10 pieces of fault information.
- Parameters
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| faultType | [FaultType](#faulttype) | Yes| Fault type.|
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| faultType | [FaultType](#faulttype) | Yes| Fault type.|
**Return value**
| Type| Description|
| -------- | -------- |
| Promise&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | Promise used to return the fault information array. You can obtain the fault information instance in its **then()** method or use **await**. <br/>The value is the fault information array obtained. If the value is **undefined**, an exception occurs during the information retrieval.|
- Return value
| Type| Description|
| -------- | -------- |
| Promise&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | Promise used to return the fault information array. You can obtain the fault information instance in its **then()** method or use **await**. <br/>The value is the fault information array obtained. If the value is **undefined**, an exception occurs during the information retrieval.|
**Example**
- Example
```
let value = await faultLogger.querySelfFaultLog(faultlogger.FaultType.JS_CRASH);
if (value) {
......
# Obtaining Process Information<a name="EN-US_TOPIC_0000001237480785"></a>
# Obtaining Process Information
>![](../../public_sys-resources/icon-note.gif) **NOTE:**
>The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
## Modules to Import<a name="s56d19203690d4782bfc74069abb6bd71"></a>
## Modules to Import
```
import process from '@ohos.process';
```
## Required Permissions<a name="section11257113618419"></a>
None
## Attributes<a name="section3317114914546"></a>
<a name="table11454105725410"></a>
<table><thead align="left"><tr id="row7455457115414"><th class="cellrowborder" valign="top" width="14.399999999999999%" id="mcps1.1.6.1.1"><p id="p84551257175410"><a name="p84551257175410"></a><a name="p84551257175410"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="21.16%" id="mcps1.1.6.1.2"><p id="p134557578549"><a name="p134557578549"></a><a name="p134557578549"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="8.39%" id="mcps1.1.6.1.3"><p id="p34551957175411"><a name="p34551957175411"></a><a name="p34551957175411"></a>Readable</p>
</th>
<th class="cellrowborder" valign="top" width="8.110000000000001%" id="mcps1.1.6.1.4"><p id="p2045510572545"><a name="p2045510572545"></a><a name="p2045510572545"></a>Writable</p>
</th>
<th class="cellrowborder" valign="top" width="47.94%" id="mcps1.1.6.1.5"><p id="p145575714544"><a name="p145575714544"></a><a name="p145575714544"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row16455135745414"><td class="cellrowborder" valign="top" width="14.399999999999999%" headers="mcps1.1.6.1.1 "><p id="p17455657165416"><a name="p17455657165416"></a><a name="p17455657165416"></a>egid</p>
</td>
<td class="cellrowborder" valign="top" width="21.16%" headers="mcps1.1.6.1.2 "><p id="p1973158115511"><a name="p1973158115511"></a><a name="p1973158115511"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="8.39%" headers="mcps1.1.6.1.3 "><p id="p84554571547"><a name="p84554571547"></a><a name="p84554571547"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="8.110000000000001%" headers="mcps1.1.6.1.4 "><p id="p114551657185413"><a name="p114551657185413"></a><a name="p114551657185413"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="47.94%" headers="mcps1.1.6.1.5 "><p id="p14455857115415"><a name="p14455857115415"></a><a name="p14455857115415"></a>Effective group identifier (EGID) of a process.</p>
</td>
</tr>
<tr id="row184551357135416"><td class="cellrowborder" valign="top" width="14.399999999999999%" headers="mcps1.1.6.1.1 "><p id="p8455135711544"><a name="p8455135711544"></a><a name="p8455135711544"></a>euid</p>
</td>
<td class="cellrowborder" valign="top" width="21.16%" headers="mcps1.1.6.1.2 "><p id="p6943158185519"><a name="p6943158185519"></a><a name="p6943158185519"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="8.39%" headers="mcps1.1.6.1.3 "><p id="p3455185745417"><a name="p3455185745417"></a><a name="p3455185745417"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="8.110000000000001%" headers="mcps1.1.6.1.4 "><p id="p2045585717548"><a name="p2045585717548"></a><a name="p2045585717548"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="47.94%" headers="mcps1.1.6.1.5 "><p id="p94821125817"><a name="p94821125817"></a><a name="p94821125817"></a>Effective user identifier (EUID) of a process.</p>
</td>
</tr>
<tr id="row3455357115411"><td class="cellrowborder" valign="top" width="14.399999999999999%" headers="mcps1.1.6.1.1 "><p id="p1345585785412"><a name="p1345585785412"></a><a name="p1345585785412"></a>gid</p>
</td>
<td class="cellrowborder" valign="top" width="21.16%" headers="mcps1.1.6.1.2 "><p id="p136661259155511"><a name="p136661259155511"></a><a name="p136661259155511"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="8.39%" headers="mcps1.1.6.1.3 "><p id="p04561457185415"><a name="p04561457185415"></a><a name="p04561457185415"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="8.110000000000001%" headers="mcps1.1.6.1.4 "><p id="p64561757195414"><a name="p64561757195414"></a><a name="p64561757195414"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="47.94%" headers="mcps1.1.6.1.5 "><p id="p6455857135420"><a name="p6455857135420"></a><a name="p6455857135420"></a>Group identifier (GID) of a process.</p>
</td>
</tr>
<tr id="row1456857195411"><td class="cellrowborder" valign="top" width="14.399999999999999%" headers="mcps1.1.6.1.1 "><p id="p1145614577542"><a name="p1145614577542"></a><a name="p1145614577542"></a>uid</p>
</td>
<td class="cellrowborder" valign="top" width="21.16%" headers="mcps1.1.6.1.2 "><p id="p105921606564"><a name="p105921606564"></a><a name="p105921606564"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="8.39%" headers="mcps1.1.6.1.3 "><p id="p16456125755417"><a name="p16456125755417"></a><a name="p16456125755417"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="8.110000000000001%" headers="mcps1.1.6.1.4 "><p id="p3456257165416"><a name="p3456257165416"></a><a name="p3456257165416"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="47.94%" headers="mcps1.1.6.1.5 "><p id="p1545610579549"><a name="p1545610579549"></a><a name="p1545610579549"></a>User identifier (UID) of a process.</p>
</td>
</tr>
<tr id="row134569575540"><td class="cellrowborder" valign="top" width="14.399999999999999%" headers="mcps1.1.6.1.1 "><p id="p5456155775414"><a name="p5456155775414"></a><a name="p5456155775414"></a>groups</p>
</td>
<td class="cellrowborder" valign="top" width="21.16%" headers="mcps1.1.6.1.2 "><p id="p1094449195614"><a name="p1094449195614"></a><a name="p1094449195614"></a>number[]</p>
</td>
<td class="cellrowborder" valign="top" width="8.39%" headers="mcps1.1.6.1.3 "><p id="p1745695725412"><a name="p1745695725412"></a><a name="p1745695725412"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="8.110000000000001%" headers="mcps1.1.6.1.4 "><p id="p19456195718542"><a name="p19456195718542"></a><a name="p19456195718542"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="47.94%" headers="mcps1.1.6.1.5 "><p id="p12456257145411"><a name="p12456257145411"></a><a name="p12456257145411"></a>Array with supplementary group IDs.</p>
</td>
</tr>
<tr id="row2456155735410"><td class="cellrowborder" valign="top" width="14.399999999999999%" headers="mcps1.1.6.1.1 "><p id="p145695716545"><a name="p145695716545"></a><a name="p145695716545"></a>pid</p>
</td>
<td class="cellrowborder" valign="top" width="21.16%" headers="mcps1.1.6.1.2 "><p id="p917781619565"><a name="p917781619565"></a><a name="p917781619565"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="8.39%" headers="mcps1.1.6.1.3 "><p id="p145625711546"><a name="p145625711546"></a><a name="p145625711546"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="8.110000000000001%" headers="mcps1.1.6.1.4 "><p id="p17456105745419"><a name="p17456105745419"></a><a name="p17456105745419"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="47.94%" headers="mcps1.1.6.1.5 "><p id="p1545612577543"><a name="p1545612577543"></a><a name="p1545612577543"></a>Process ID (PID) of a process.</p>
</td>
</tr>
<tr id="row195001712125615"><td class="cellrowborder" valign="top" width="14.399999999999999%" headers="mcps1.1.6.1.1 "><p id="p0501171213567"><a name="p0501171213567"></a><a name="p0501171213567"></a>ppid</p>
</td>
<td class="cellrowborder" valign="top" width="21.16%" headers="mcps1.1.6.1.2 "><p id="p69521816125613"><a name="p69521816125613"></a><a name="p69521816125613"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="8.39%" headers="mcps1.1.6.1.3 "><p id="p550171217569"><a name="p550171217569"></a><a name="p550171217569"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="8.110000000000001%" headers="mcps1.1.6.1.4 "><p id="p19501612175616"><a name="p19501612175616"></a><a name="p19501612175616"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="47.94%" headers="mcps1.1.6.1.5 "><p id="p2050111216567"><a name="p2050111216567"></a><a name="p2050111216567"></a>Parent process ID (PPID) of a process.</p>
</td>
</tr>
<tr id="row383373231019"><td class="cellrowborder" valign="top" width="14.399999999999999%" headers="mcps1.1.6.1.1 "><p id="p28339326100"><a name="p28339326100"></a><a name="p28339326100"></a>tid<sup id="sup515125418117"><a name="sup515125418117"></a><a name="sup515125418117"></a>8+</sup></p>
</td>
<td class="cellrowborder" valign="top" width="21.16%" headers="mcps1.1.6.1.2 "><p id="p1083318320102"><a name="p1083318320102"></a><a name="p1083318320102"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="8.39%" headers="mcps1.1.6.1.3 "><p id="p983433218101"><a name="p983433218101"></a><a name="p983433218101"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="8.110000000000001%" headers="mcps1.1.6.1.4 "><p id="p58341432121020"><a name="p58341432121020"></a><a name="p58341432121020"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="47.94%" headers="mcps1.1.6.1.5 "><p id="p16834532191011"><a name="p16834532191011"></a><a name="p16834532191011"></a>Thread ID (TID) of a process.</p>
</td>
</tr>
</tbody>
</table>
## ChildProcess<a name="section6521387200"></a>
Provides methods for a process to obtain the standard input and output of its child processes, send signals, and close its child processes.
### Attributes<a name="section18482944113517"></a>
<a name="table20482104463514"></a>
<table><thead align="left"><tr id="row1348214444357"><th class="cellrowborder" valign="top" width="15.870000000000001%" id="mcps1.1.6.1.1"><p id="p184822443351"><a name="p184822443351"></a><a name="p184822443351"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="10.86%" id="mcps1.1.6.1.2"><p id="p1648254415353"><a name="p1648254415353"></a><a name="p1648254415353"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.34%" id="mcps1.1.6.1.3"><p id="p9482124413355"><a name="p9482124413355"></a><a name="p9482124413355"></a>Readable</p>
</th>
<th class="cellrowborder" valign="top" width="11.51%" id="mcps1.1.6.1.4"><p id="p3482124493515"><a name="p3482124493515"></a><a name="p3482124493515"></a>Writable</p>
</th>
<th class="cellrowborder" valign="top" width="52.42%" id="mcps1.1.6.1.5"><p id="p12482104483513"><a name="p12482104483513"></a><a name="p12482104483513"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row148254473513"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p188761547113820"><a name="p188761547113820"></a><a name="p188761547113820"></a>pid</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p3482124417356"><a name="p3482124417356"></a><a name="p3482124417356"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p16483194443514"><a name="p16483194443514"></a><a name="p16483194443514"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p64838449351"><a name="p64838449351"></a><a name="p64838449351"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p7678105615402"><a name="p7678105615402"></a><a name="p7678105615402"></a>PID of the child process.</p>
</td>
</tr>
<tr id="row1483164414352"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p17483184419352"><a name="p17483184419352"></a><a name="p17483184419352"></a>ppid</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p9483184410355"><a name="p9483184410355"></a><a name="p9483184410355"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p1348384415359"><a name="p1348384415359"></a><a name="p1348384415359"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p1448312449355"><a name="p1448312449355"></a><a name="p1448312449355"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p19949102034110"><a name="p19949102034110"></a><a name="p19949102034110"></a>PPID of the child process.</p>
</td>
</tr>
<tr id="row13483164419353"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p10260103644215"><a name="p10260103644215"></a><a name="p10260103644215"></a>exitCode</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p4483174443517"><a name="p4483174443517"></a><a name="p4483174443517"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p1483134419353"><a name="p1483134419353"></a><a name="p1483134419353"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p648354483510"><a name="p648354483510"></a><a name="p648354483510"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p348319442351"><a name="p348319442351"></a><a name="p348319442351"></a>Exit code of the child process.</p>
</td>
</tr>
<tr id="row1818591014310"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p133731715204318"><a name="p133731715204318"></a><a name="p133731715204318"></a>killed</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p20186181084318"><a name="p20186181084318"></a><a name="p20186181084318"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p61861510174314"><a name="p61861510174314"></a><a name="p61861510174314"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p6186151034317"><a name="p6186151034317"></a><a name="p6186151034317"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p518611015431"><a name="p518611015431"></a><a name="p518611015431"></a>Whether the parent process successfully sends a signal to the child process to terminate it.</p>
</td>
</tr>
</tbody>
</table>
### wait<a name="section9594134194318"></a>
wait\(\): Promise<number\>
## System Capabilities
SystemCapability.Utils.Lang
## Attributes
| Name| Type| Readable| Writable| Description|
| -------- | -------- | -------- | -------- | -------- |
| egid | number | Yes| No| Effective group identifier (EGID) of a process.|
| euid | number | Yes| No| Effective user identifier (EUID) of a process.|
| gid | number | Yes| No| Group identifier (GID) of a process.|
| uid | number | Yes| No| User identifier (UID) of a process.|
| groups | number[] | Yes| No| Array with supplementary group IDs.|
| pid | number | Yes| No| Process ID (PID) of a process.|
| ppid | number | Yes| No| Parent process ID (PPID) of a process.|
| tid<sup>8+</sup> | number | Yes| No| Thread ID (TID) of a process.|
## ChildProcess
Allows a process to obtain the standard input and output of its child processes, send signals, and close its child processes.
### Attributes
| Name| Type| Readable| Writable| Description|
| -------- | -------- | -------- | -------- | -------- |
| pid | number | Yes| No| PID of the child process.|
| ppid | number | Yes| No| PPID of the child process.|
| exitCode | number | Yes| No| Exit code of the child process.|
| killed | boolean | Yes| No| Whether the parent process successfully sends a signal to the child process to terminate it.|
### wait
wait(): Promise&lt;number&gt;
Waits until the child process ends. This method uses a promise to return the exit code of the child process.
- Return values
**Return value**
<a name="table37864874412"></a>
<table><thead align="left"><tr id="row1778638104418"><th class="cellrowborder" valign="top" width="25.790000000000003%" id="mcps1.1.3.1.1"><p id="p1778613834415"><a name="p1778613834415"></a><a name="p1778613834415"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="74.21%" id="mcps1.1.3.1.2"><p id="p6786118124414"><a name="p6786118124414"></a><a name="p6786118124414"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row678611818445"><td class="cellrowborder" valign="top" width="25.790000000000003%" headers="mcps1.1.3.1.1 "><p id="p731033633210"><a name="p731033633210"></a><a name="p731033633210"></a>Promise&lt;number&gt;</p>
</td>
<td class="cellrowborder" valign="top" width="74.21%" headers="mcps1.1.3.1.2 "><p id="p6786118144419"><a name="p6786118144419"></a><a name="p6786118144419"></a>Promise used to return the exit code of the child process.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| Promise&lt;number&gt; | Promise used to return the exit code of the child process.|
- Example
**Example**
```
var child = process.runCmd('ls');
var result = child.wait();
result.then(val=>{
console.log("result = " + val);
})
```
```
var child = process.runCmd('ls');
var result = child.wait();
result.then(val=>{
console.log("result = " + val);
})
```
### getOutput<a name="section1732152812716"></a>
### getOutput
getOutput\(\): Promise<Uint8Array\>
getOutput(): Promise&lt;Uint8Array&gt;
Obtains the standard output of the child process.
- Return values
**Return value**
<a name="table034112818718"></a>
<table><thead align="left"><tr id="row10341728976"><th class="cellrowborder" valign="top" width="30.98%" id="mcps1.1.3.1.1"><p id="p234182810716"><a name="p234182810716"></a><a name="p234182810716"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="69.02000000000001%" id="mcps1.1.3.1.2"><p id="p83412820713"><a name="p83412820713"></a><a name="p83412820713"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row183552814711"><td class="cellrowborder" valign="top" width="30.98%" headers="mcps1.1.3.1.1 "><p id="p035328878"><a name="p035328878"></a><a name="p035328878"></a>Promise&lt;Uint8Array&gt;</p>
</td>
<td class="cellrowborder" valign="top" width="69.02000000000001%" headers="mcps1.1.3.1.2 "><p id="p83512284717"><a name="p83512284717"></a><a name="p83512284717"></a>Promise used to return the standard output in a Uint8Array.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| Promise&lt;Uint8Array&gt; | Promise used to return the standard output in a Uint8Array.|
- Example
**Example**
```
var child = process.runCmd('ls');
var result = child.wait();
child.getOutput.then(val=>{
console.log("child.getOutput = " + val);
})
```
```
var child = process.runCmd('ls');
var result = child.wait();
child.getOutput.then(val=>{
console.log("child.getOutput = " + val);
})
```
### getErrorOutput<a name="section14671040141315"></a>
### getErrorOutput
getErrorOutput\(\): Promise<Uint8Array\>
getErrorOutput(): Promise&lt;Uint8Array&gt;
Obtains the standard error output of the child process.
- Return values
**Return value**
<a name="table76721340131314"></a>
<table><thead align="left"><tr id="row46721040191315"><th class="cellrowborder" valign="top" width="30.36%" id="mcps1.1.3.1.1"><p id="p3672140111313"><a name="p3672140111313"></a><a name="p3672140111313"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="69.64%" id="mcps1.1.3.1.2"><p id="p967214407133"><a name="p967214407133"></a><a name="p967214407133"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row767214407135"><td class="cellrowborder" valign="top" width="30.36%" headers="mcps1.1.3.1.1 "><p id="p767294017137"><a name="p767294017137"></a><a name="p767294017137"></a>Promise&lt;Uint8Array&gt;</p>
</td>
<td class="cellrowborder" valign="top" width="69.64%" headers="mcps1.1.3.1.2 "><p id="p9672144081314"><a name="p9672144081314"></a><a name="p9672144081314"></a>Promise used to return the standard error output in a Uint8Array.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| Promise&lt;Uint8Array&gt; | Promise used to return the standard error output in a Uint8Array.|
- Example
**Example**
```
var child = process.runCmd('madir test.text');
var result = child.wait();
child.getErrorOutput.then(val=>{
console.log("child.getErrorOutput= " + val);
})
```
```
var child = process.runCmd('madir test.text');
var result = child.wait();
child.getErrorOutput.then(val=>{
console.log("child.getErrorOutput= " + val);
})
```
### close<a name="section28221257121518"></a>
### close
close\(\): void
close(): void
Closes the child process in running.
- Example
**Example**
```
var child = process.runCmd('sleep 5; ls');
child.close();
```
```
var child = process.runCmd('sleep 5; ls');
child.close();
```
### kill<a name="section9528134162114"></a>
### kill
kill\(signal: number | string\): void
kill(signal: number | string): void
Sends a signal to the specified child process to terminate it.
- Parameters
<a name="table157841181443"></a>
<table><thead align="left"><tr id="row10784188164412"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p167847814420"><a name="p167847814420"></a><a name="p167847814420"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="26.71%" id="mcps1.1.5.1.2"><p id="p078418815441"><a name="p078418815441"></a><a name="p078418815441"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="12.879999999999999%" id="mcps1.1.5.1.3"><p id="p14784082449"><a name="p14784082449"></a><a name="p14784082449"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="45.59%" id="mcps1.1.5.1.4"><p id="p1878468104412"><a name="p1878468104412"></a><a name="p1878468104412"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row27851385447"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p2785284442"><a name="p2785284442"></a><a name="p2785284442"></a>signal</p>
</td>
<td class="cellrowborder" valign="top" width="26.71%" headers="mcps1.1.5.1.2 "><p id="p47857813448"><a name="p47857813448"></a><a name="p47857813448"></a>number | string</p>
</td>
<td class="cellrowborder" valign="top" width="12.879999999999999%" headers="mcps1.1.5.1.3 "><p id="p147859815443"><a name="p147859815443"></a><a name="p147859815443"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="45.59%" headers="mcps1.1.5.1.4 "><p id="p2078588194411"><a name="p2078588194411"></a><a name="p2078588194411"></a>Number or string to send.</p>
</td>
</tr>
</tbody>
</table>
**Parameters**
- Example
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| signal | number&nbsp;\|&nbsp;string | Yes| Number or string to send.|
```
var child = process.runCmd('sleep 5; ls');
child.kill(9);
```
**Example**
```
var child = process.runCmd('sleep 5; ls');
child.kill(9);
```
## process.isIsolatedProcess<sup>8+</sup><a name="section18531656131211"></a>
isIsolatedProcess\(\): boolean
## process.isIsolatedProcess<sup>8+</sup>
Checks whether the process is isolated.
isIsolatedProcess(): boolean
- Return values
Checks whether this process is isolated.
<a name="table16748145772610"></a>
<table><thead align="left"><tr id="row13748857132613"><th class="cellrowborder" valign="top" width="20.990000000000002%" id="mcps1.1.3.1.1"><p id="p5748125722616"><a name="p5748125722616"></a><a name="p5748125722616"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="79.01%" id="mcps1.1.3.1.2"><p id="p8748155719267"><a name="p8748155719267"></a><a name="p8748155719267"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row16748135742613"><td class="cellrowborder" valign="top" width="20.990000000000002%" headers="mcps1.1.3.1.1 "><p id="p6748757162618"><a name="p6748757162618"></a><a name="p6748757162618"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="79.01%" headers="mcps1.1.3.1.2 "><p id="p16749057182614"><a name="p16749057182614"></a><a name="p16749057182614"></a>Returns <strong id="b1257840101118"><a name="b1257840101118"></a><a name="b1257840101118"></a>true</strong> if the process is isolated; returns <strong id="b295119021219"><a name="b295119021219"></a><a name="b295119021219"></a>false</strong> otherwise.</p>
</td>
</tr>
</tbody>
</table>
**Return value**
| Type| Description|
| -------- | -------- |
| boolean | Returns **true** if the process is isolated; returns **false** otherwise.|
- Example
**Example**
```
var result = process.isIsolatedProcess();
```
```
var result = process.isIsolatedProcess();
```
## process.isAppUid<sup>8+</sup><a name="section3483872142"></a>
## process.isAppUid<sup>8+</sup>
isAppUid\(v:number\): boolean
isAppUid(v:number): boolean
Checks whether a UID belongs to this app.
- Parameters
<a name="table1130031918288"></a>
<table><thead align="left"><tr id="row5300181932814"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p13300131917284"><a name="p13300131917284"></a><a name="p13300131917284"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p12301131912284"><a name="p12301131912284"></a><a name="p12301131912284"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p13011819122814"><a name="p13011819122814"></a><a name="p13011819122814"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p10301141922817"><a name="p10301141922817"></a><a name="p10301141922817"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1630116194285"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p438853552813"><a name="p438853552813"></a><a name="p438853552813"></a>v</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p530151916283"><a name="p530151916283"></a><a name="p530151916283"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p12301819172811"><a name="p12301819172811"></a><a name="p12301819172811"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p9302111962811"><a name="p9302111962811"></a><a name="p9302111962811"></a>UID.</p>
</td>
</tr>
</tbody>
</table>
- Return values
<a name="table193021119132815"></a>
<table><thead align="left"><tr id="row630281915283"><th class="cellrowborder" valign="top" width="20.990000000000002%" id="mcps1.1.3.1.1"><p id="p13303619192811"><a name="p13303619192811"></a><a name="p13303619192811"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="79.01%" id="mcps1.1.3.1.2"><p id="p93034196281"><a name="p93034196281"></a><a name="p93034196281"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row0303201917288"><td class="cellrowborder" valign="top" width="20.990000000000002%" headers="mcps1.1.3.1.1 "><p id="p93031719172815"><a name="p93031719172815"></a><a name="p93031719172815"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="79.01%" headers="mcps1.1.3.1.2 "><p id="p2044064714286"><a name="p2044064714286"></a><a name="p2044064714286"></a>Returns <strong id="b11496154718238"><a name="b11496154718238"></a><a name="b11496154718238"></a>true</strong> if the UID is the app's UID; returns <strong id="b1549674712316"><a name="b1549674712316"></a><a name="b1549674712316"></a>false</strong> otherwise.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var result = process.isAppUid(688);
```
## process.is64Bit<sup>8+</sup><a name="section19430255141411"></a>
is64Bit\(\): boolean
Checks whether the operating environment is of 64-bit.
- Return values
<a name="table18430115511149"></a>
<table><thead align="left"><tr id="row4430165512148"><th class="cellrowborder" valign="top" width="21.02%" id="mcps1.1.3.1.1"><p id="p94301555141"><a name="p94301555141"></a><a name="p94301555141"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="78.97999999999999%" id="mcps1.1.3.1.2"><p id="p6430185515144"><a name="p6430185515144"></a><a name="p6430185515144"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row9430125531413"><td class="cellrowborder" valign="top" width="21.02%" headers="mcps1.1.3.1.1 "><p id="p14430655121410"><a name="p14430655121410"></a><a name="p14430655121410"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="78.97999999999999%" headers="mcps1.1.3.1.2 "><p id="p943075571418"><a name="p943075571418"></a><a name="p943075571418"></a>Returns <strong id="b542211113264"><a name="b542211113264"></a><a name="b542211113264"></a>true</strong> if the operating environment is of 64-bit; returns <strong id="b1142231110265"><a name="b1142231110265"></a><a name="b1142231110265"></a>false</strong> otherwise.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var ressult = process.is64Bit();
```
## process.getUidForName<sup>8+</sup><a name="section1727712617154"></a>
getUidForName\(v:string\): number
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| v | number | Yes| UID.|
**Return value**
| Type| Description|
| -------- | -------- |
| boolean | Returns **true** if the UID is the app's UID; returns **false** otherwise.|
**Example**
```
var result = process.isAppUid(688);
```
## process.is64Bit<sup>8+</sup>
is64Bit(): boolean
Checks whether this process is running in a 64-bit environment.
**Return value**
| Type| Description|
| -------- | -------- |
| boolean | Returns **true** if the process is running in a 64-bit environment; returns **false** otherwise.|
**Example**
```
var ressult = process.is64Bit();
```
## process.getUidForName<sup>8+</sup>
getUidForName(v:string): number
Obtains the process UID based on the process name.
- Parameters
<a name="table10277142671518"></a>
<table><thead align="left"><tr id="row1727719261158"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p17277122616159"><a name="p17277122616159"></a><a name="p17277122616159"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p11277172619159"><a name="p11277172619159"></a><a name="p11277172619159"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p1127732661515"><a name="p1127732661515"></a><a name="p1127732661515"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p102775264152"><a name="p102775264152"></a><a name="p102775264152"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row16277122631517"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p192771126131510"><a name="p192771126131510"></a><a name="p192771126131510"></a>v</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p827814265151"><a name="p827814265151"></a><a name="p827814265151"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p122783261158"><a name="p122783261158"></a><a name="p122783261158"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p22781526111515"><a name="p22781526111515"></a><a name="p22781526111515"></a>Process name.</p>
</td>
</tr>
</tbody>
</table>
- Return values
<a name="table12278152615151"></a>
<table><thead align="left"><tr id="row1527842610155"><th class="cellrowborder" valign="top" width="21.02%" id="mcps1.1.3.1.1"><p id="p182781267158"><a name="p182781267158"></a><a name="p182781267158"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="78.97999999999999%" id="mcps1.1.3.1.2"><p id="p52781826161511"><a name="p52781826161511"></a><a name="p52781826161511"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row19278112681516"><td class="cellrowborder" valign="top" width="21.02%" headers="mcps1.1.3.1.1 "><p id="p927822691514"><a name="p927822691514"></a><a name="p927822691514"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="78.97999999999999%" headers="mcps1.1.3.1.2 "><p id="p18278426161512"><a name="p18278426161512"></a><a name="p18278426161512"></a>Process UID.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var pres = process.getUidForName("tool")
```
## process.getThreadPriority<sup>8+</sup><a name="section10468310163512"></a>
getThreadPriority\(v:number\): number
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| v | string | Yes| Name of a process.|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Process UID.|
**Example**
```
var pres = process.getUidForName("tool")
```
## process.getThreadPriority<sup>8+</sup>
getThreadPriority(v:number): number
Obtains the thread priority based on the specified TID.
- Parameters
<a name="table1546841011357"></a>
<table><thead align="left"><tr id="row14469111063515"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p346951013359"><a name="p346951013359"></a><a name="p346951013359"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p246918103351"><a name="p246918103351"></a><a name="p246918103351"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p6469171013513"><a name="p6469171013513"></a><a name="p6469171013513"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p1446917101352"><a name="p1446917101352"></a><a name="p1446917101352"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row5469910143518"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p1247011033512"><a name="p1247011033512"></a><a name="p1247011033512"></a>v</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p18470171083516"><a name="p18470171083516"></a><a name="p18470171083516"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p7470110113512"><a name="p7470110113512"></a><a name="p7470110113512"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p1327223011365"><a name="p1327223011365"></a><a name="p1327223011365"></a>TID.</p>
</td>
</tr>
</tbody>
</table>
- Return values
<a name="table1947018103358"></a>
<table><thead align="left"><tr id="row134713108353"><th class="cellrowborder" valign="top" width="21.02%" id="mcps1.1.3.1.1"><p id="p84712101359"><a name="p84712101359"></a><a name="p84712101359"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="78.97999999999999%" id="mcps1.1.3.1.2"><p id="p44711910103519"><a name="p44711910103519"></a><a name="p44711910103519"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row154710105354"><td class="cellrowborder" valign="top" width="21.02%" headers="mcps1.1.3.1.1 "><p id="p1447181023517"><a name="p1447181023517"></a><a name="p1447181023517"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="78.97999999999999%" headers="mcps1.1.3.1.2 "><p id="p8471110183520"><a name="p8471110183520"></a><a name="p8471110183520"></a>Priority of the thread.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var tid = process.tid;
var pres = process.getThreadPriority(tid);
```
## process.getStartRealtime<sup>8+</sup><a name="section1336514287167"></a>
getStartRealtime\(\) :number
**Parameters**
Obtains the duration, in milliseconds, from the time the system starts to the time the process starts.
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| v | number | Yes| TID.|
- Return values
**Return value**
<a name="table191971559142420"></a>
<table><thead align="left"><tr id="row1119785919245"><th class="cellrowborder" valign="top" width="20.990000000000002%" id="mcps1.1.3.1.1"><p id="p2197115962417"><a name="p2197115962417"></a><a name="p2197115962417"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="79.01%" id="mcps1.1.3.1.2"><p id="p1419713599243"><a name="p1419713599243"></a><a name="p1419713599243"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row10198175982415"><td class="cellrowborder" valign="top" width="20.990000000000002%" headers="mcps1.1.3.1.1 "><p id="p719855942415"><a name="p719855942415"></a><a name="p719855942415"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="79.01%" headers="mcps1.1.3.1.2 "><p id="p1119875918248"><a name="p1119875918248"></a><a name="p1119875918248"></a>Time duration obtained.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| number | Priority of the thread.|
**Example**
- Example
```
var tid = process.getTid();
var pres = process.getThreadPriority(tid);
```
```
var realtime = process.getStartRealtime();
```
## process.getStartRealtime<sup>8+</sup>
getStartRealtime() :number
Obtains the duration, in milliseconds, from the time the system starts to the time the process starts.
## process.getPastCputime<sup>8+</sup><a name="section93991533201718"></a>
**Return value**
| Type| Description|
| -------- | -------- |
| number | Duration obtained.|
**Example**
```
var realtime = process.getStartRealtime();
```
getPastCputime\(\) :number
## process.getPastCputime<sup>8+</sup>
Obtains the CPU time \(in milliseconds\) from the time the process starts to the current time.
getPastCputime() :number
- Return values
Obtains the CPU time (in milliseconds) from the time the process starts to the current time.
<a name="table935012126260"></a>
<table><thead align="left"><tr id="row12350111272614"><th class="cellrowborder" valign="top" width="20.990000000000002%" id="mcps1.1.3.1.1"><p id="p1635081217266"><a name="p1635081217266"></a><a name="p1635081217266"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="79.01%" id="mcps1.1.3.1.2"><p id="p335014125263"><a name="p335014125263"></a><a name="p335014125263"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row835171215263"><td class="cellrowborder" valign="top" width="20.990000000000002%" headers="mcps1.1.3.1.1 "><p id="p1914922192620"><a name="p1914922192620"></a><a name="p1914922192620"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="79.01%" headers="mcps1.1.3.1.2 "><p id="p135118122264"><a name="p135118122264"></a><a name="p135118122264"></a>CPU time obtained.</p>
</td>
</tr>
</tbody>
</table>
**Return value**
| Type| Description|
| -------- | -------- |
| number | CPU time obtained.|
- Example
**Example**
```
var result = process.getPastCputime() ;
```
```
var result = process.getPastCputime() ;
```
## process.getSystemConfig<sup>8+</sup><a name="section872533219413"></a>
## process.getSystemConfig<sup>8+</sup>
getSystemConfig\(name:number\): number
getSystemConfig(name:number): number
Obtains the system configuration.
- Parameters
<a name="table187251232124112"></a>
<table><thead align="left"><tr id="row1726153264119"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p187261932204117"><a name="p187261932204117"></a><a name="p187261932204117"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p19726163214110"><a name="p19726163214110"></a><a name="p19726163214110"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p472613325413"><a name="p472613325413"></a><a name="p472613325413"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p15726133284110"><a name="p15726133284110"></a><a name="p15726133284110"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row672763214419"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p12727432174114"><a name="p12727432174114"></a><a name="p12727432174114"></a>name</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p1372743216418"><a name="p1372743216418"></a><a name="p1372743216418"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p2727153213419"><a name="p2727153213419"></a><a name="p2727153213419"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p1572743215418"><a name="p1572743215418"></a><a name="p1572743215418"></a>System configuration parameter name.</p>
</td>
</tr>
</tbody>
</table>
- Return values
<a name="table2727123213413"></a>
<table><thead align="left"><tr id="row117281232184114"><th class="cellrowborder" valign="top" width="21.02%" id="mcps1.1.3.1.1"><p id="p97281232104111"><a name="p97281232104111"></a><a name="p97281232104111"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="78.97999999999999%" id="mcps1.1.3.1.2"><p id="p1572853218415"><a name="p1572853218415"></a><a name="p1572853218415"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row14728732174120"><td class="cellrowborder" valign="top" width="21.02%" headers="mcps1.1.3.1.1 "><p id="p4728153254120"><a name="p4728153254120"></a><a name="p4728153254120"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="78.97999999999999%" headers="mcps1.1.3.1.2 "><p id="p3728193216419"><a name="p3728193216419"></a><a name="p3728193216419"></a>System configuration obtained.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var _SC_ARG_MAX = 0
var pres = process.getSystemConfig(_SC_ARG_MAX)
```
## process.getEnvironmentVar<sup>8+</sup><a name="section3554201415462"></a>
getEnvironmentVar\(name:string\): string
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | number | Yes| System configuration parameter name.|
**Return value**
| Type| Description|
| -------- | -------- |
| number | System configuration obtained.|
**Example**
```
var _SC_ARG_MAX = 0
var pres = process.getSystemConfig(_SC_ARG_MAX)
```
## process.getEnvironmentVar<sup>8+</sup>
getEnvironmentVar(name:string): string
Obtains the value of an environment variable.
- Parameters
<a name="table1554101419462"></a>
<table><thead align="left"><tr id="row9555131415465"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p25559140465"><a name="p25559140465"></a><a name="p25559140465"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p65551014124619"><a name="p65551014124619"></a><a name="p65551014124619"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p55569142467"><a name="p55569142467"></a><a name="p55569142467"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p1855641454611"><a name="p1855641454611"></a><a name="p1855641454611"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row755681414469"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p145561714164615"><a name="p145561714164615"></a><a name="p145561714164615"></a>name</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p4556121444615"><a name="p4556121444615"></a><a name="p4556121444615"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p055681484619"><a name="p055681484619"></a><a name="p055681484619"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p755612143463"><a name="p755612143463"></a><a name="p755612143463"></a>Environment variable name.</p>
</td>
</tr>
</tbody>
</table>
- Return values
<a name="table75571014164610"></a>
<table><thead align="left"><tr id="row75571914184619"><th class="cellrowborder" valign="top" width="21.02%" id="mcps1.1.3.1.1"><p id="p12557101474617"><a name="p12557101474617"></a><a name="p12557101474617"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="78.97999999999999%" id="mcps1.1.3.1.2"><p id="p9557191417469"><a name="p9557191417469"></a><a name="p9557191417469"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row8557121474617"><td class="cellrowborder" valign="top" width="21.02%" headers="mcps1.1.3.1.1 "><p id="p948123084713"><a name="p948123084713"></a><a name="p948123084713"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="78.97999999999999%" headers="mcps1.1.3.1.2 "><p id="p18558141494617"><a name="p18558141494617"></a><a name="p18558141494617"></a>Value of the environment variable.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var pres = process.getEnvironmentVar("PATH")
```
## process.runCmd<a name="section19358326587"></a>
runCmd\(command: string, options?: \{ timeout : number, killSignal : number | string, maxBuffer : number \}\) : ChildProcess
Forks a new process to run a shell command and returns the **ChildProcess** object.
- Parameters
<a name="table1112161035716"></a>
<table><thead align="left"><tr id="row191251055716"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p1812191011573"><a name="p1812191011573"></a><a name="p1812191011573"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p111231095720"><a name="p111231095720"></a><a name="p111231095720"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p812161055714"><a name="p812161055714"></a><a name="p812161055714"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p131331025718"><a name="p131331025718"></a><a name="p131331025718"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row12131310175711"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p131301018576"><a name="p131301018576"></a><a name="p131301018576"></a>command</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p813151075720"><a name="p813151075720"></a><a name="p813151075720"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p313121025712"><a name="p313121025712"></a><a name="p313121025712"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p1613131075715"><a name="p1613131075715"></a><a name="p1613131075715"></a>Shell command to run.</p>
</td>
</tr>
<tr id="row187851287441"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p187851487447"><a name="p187851487447"></a><a name="p187851487447"></a>options</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p13785987448"><a name="p13785987448"></a><a name="p13785987448"></a>Object</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p1878538154411"><a name="p1878538154411"></a><a name="p1878538154411"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p127684914432"><a name="p127684914432"></a><a name="p127684914432"></a>Related parameters.</p>
</td>
</tr>
</tbody>
</table>
**Table 1** options
<a name="table395819335512"></a>
<table><thead align="left"><tr id="row4958133185116"><th class="cellrowborder" valign="top" width="14.56%" id="mcps1.2.5.1.1"><p id="p1795813315511"><a name="p1795813315511"></a><a name="p1795813315511"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="20.48%" id="mcps1.2.5.1.2"><p id="p1895883395120"><a name="p1895883395120"></a><a name="p1895883395120"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.700000000000001%" id="mcps1.2.5.1.3"><p id="p17958633125116"><a name="p17958633125116"></a><a name="p17958633125116"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="55.26%" id="mcps1.2.5.1.4"><p id="p15958133312518"><a name="p15958133312518"></a><a name="p15958133312518"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1958833125117"><td class="cellrowborder" valign="top" width="14.56%" headers="mcps1.2.5.1.1 "><p id="p1984204213513"><a name="p1984204213513"></a><a name="p1984204213513"></a>timeout</p>
</td>
<td class="cellrowborder" valign="top" width="20.48%" headers="mcps1.2.5.1.2 "><p id="p11958733115110"><a name="p11958733115110"></a><a name="p11958733115110"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.700000000000001%" headers="mcps1.2.5.1.3 "><p id="p1995817337517"><a name="p1995817337517"></a><a name="p1995817337517"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.2.5.1.4 "><p id="p3958113385114"><a name="p3958113385114"></a><a name="p3958113385114"></a>Maximum running time (in ms) of the child process. When the running time of the child process exceeds the value of this parameter, the parent process sends a <strong id="b16581181141220"><a name="b16581181141220"></a><a name="b16581181141220"></a>killSignal</strong> to the child process to terminate it. The default value is <strong id="b83520247124"><a name="b83520247124"></a><a name="b83520247124"></a>0</strong>.</p>
</td>
</tr>
<tr id="row15974103410012"><td class="cellrowborder" valign="top" width="14.56%" headers="mcps1.2.5.1.1 "><p id="p18974173412018"><a name="p18974173412018"></a><a name="p18974173412018"></a>killSignal</p>
</td>
<td class="cellrowborder" valign="top" width="20.48%" headers="mcps1.2.5.1.2 "><p id="p1397433413014"><a name="p1397433413014"></a><a name="p1397433413014"></a>number | string</p>
</td>
<td class="cellrowborder" valign="top" width="9.700000000000001%" headers="mcps1.2.5.1.3 "><p id="p1497411347015"><a name="p1497411347015"></a><a name="p1497411347015"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.2.5.1.4 "><p id="p6975134106"><a name="p6975134106"></a><a name="p6975134106"></a>Signal sent to the child process when the running time of a child process exceeds the timeout period. The default value is <strong id="b112802023141411"><a name="b112802023141411"></a><a name="b112802023141411"></a>SIGTERM</strong>.</p>
</td>
</tr>
<tr id="row7848832602"><td class="cellrowborder" valign="top" width="14.56%" headers="mcps1.2.5.1.1 "><p id="p138496321602"><a name="p138496321602"></a><a name="p138496321602"></a>maxBuffer</p>
</td>
<td class="cellrowborder" valign="top" width="20.48%" headers="mcps1.2.5.1.2 "><p id="p138499328017"><a name="p138499328017"></a><a name="p138499328017"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.700000000000001%" headers="mcps1.2.5.1.3 "><p id="p784919321409"><a name="p784919321409"></a><a name="p784919321409"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="55.26%" headers="mcps1.2.5.1.4 "><p id="p610211102610"><a name="p610211102610"></a><a name="p610211102610"></a>Maximum buffer size for the standard input and output of the child process. When the size is exceeded, the child process will be terminated. The default value is <strong id="b17684182611617"><a name="b17684182611617"></a><a name="b17684182611617"></a>1024 * 1024</strong>.</p>
</td>
</tr>
</tbody>
</table>
- Return values
<a name="table214161065718"></a>
<table><thead align="left"><tr id="row21412108574"><th class="cellrowborder" valign="top" width="20.990000000000002%" id="mcps1.1.3.1.1"><p id="p714201014577"><a name="p714201014577"></a><a name="p714201014577"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="79.01%" id="mcps1.1.3.1.2"><p id="p2014131085719"><a name="p2014131085719"></a><a name="p2014131085719"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1715121005719"><td class="cellrowborder" valign="top" width="20.990000000000002%" headers="mcps1.1.3.1.1 "><p id="p915110115714"><a name="p915110115714"></a><a name="p915110115714"></a><a href="#section6521387200">ChildProcess</a></p>
</td>
<td class="cellrowborder" valign="top" width="79.01%" headers="mcps1.1.3.1.2 "><p id="p1738116141104"><a name="p1738116141104"></a><a name="p1738116141104"></a><strong id="b3379103153119"><a name="b3379103153119"></a><a name="b3379103153119"></a>ChildProcess</strong> object.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var child = process.runCmd('ls', { maxBuffer : 2 });
var result = child.wait();
child.getOutput.then(val=>{
console.log("child.getOutput = " + val);
})
```
## process.abort<a name="section564715329325"></a>
abort\(\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Environment variable name.|
**Return value**
| Type| Description|
| -------- | -------- |
| string | Value of the environment variable.|
**Example**
```
var pres = process.getEnvironmentVar("PATH")
```
## process.runCmd
runCmd(command: string, options?: { timeout : number, killSignal : number | string, maxBuffer : number }) : ChildProcess
Forks a new process to run a shell command and returns the **ChildProcess** object.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| command | string | Yes| Shell command to run.|
| options | Object | No| Related parameters.|
**Table 1** options
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| timeout | number | No| Maximum running time (in ms) of the child process. When the running time of the child process exceeds the value of this parameter, the parent process sends a **killSignal** to the child process to terminate it. The default value is **0**.|
| killSignal | number&nbsp;&nbsp;\|&nbsp;string | No| Signal sent to the child process when the running time of a child process exceeds the timeout period. The default value is **SIGTERM**.|
| maxBuffer | number | No| Maximum buffer size for the standard input and output of the child process. When the size is exceeded, the child process will be terminated. The default value is **1024 \* 1024**.|
**Return value**
| Type| Description|
| -------- | -------- |
| [ChildProcess](#childprocess) | **ChildProcess** object.|
**Example**
```
var child = process.runCmd('ls', { maxBuffer : 2 });
var result = child.wait();
child.getOutput.then(val=>{
console.log("child.getOutput = " + val);
})
```
## process.abort
abort(): void
Aborts a process and generates a core file. This method will cause a process to exit immediately. Exercise caution when using this method.
- Example
**Example**
```
process.abort();
```
```
process.abort();
```
## process.on<a name="section2394161818344"></a>
## process.on
on\(type: string, listener: EventListener\): void
on(type: string, listener: EventListener): void
Stores the events triggered by the user.
- Parameters
<a name="table97411514490"></a>
<table><thead align="left"><tr id="row137601516499"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p27631520491"><a name="p27631520491"></a><a name="p27631520491"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="22.68%" id="mcps1.1.5.1.2"><p id="p167691514913"><a name="p167691514913"></a><a name="p167691514913"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="10.12%" id="mcps1.1.5.1.3"><p id="p676101554917"><a name="p676101554917"></a><a name="p676101554917"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="52.38%" id="mcps1.1.5.1.4"><p id="p9774157491"><a name="p9774157491"></a><a name="p9774157491"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row107791514917"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p12771515144912"><a name="p12771515144912"></a><a name="p12771515144912"></a>type</p>
</td>
<td class="cellrowborder" valign="top" width="22.68%" headers="mcps1.1.5.1.2 "><p id="p10771815134911"><a name="p10771815134911"></a><a name="p10771815134911"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="10.12%" headers="mcps1.1.5.1.3 "><p id="p97771554918"><a name="p97771554918"></a><a name="p97771554918"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="52.38%" headers="mcps1.1.5.1.4 "><p id="p137713153495"><a name="p137713153495"></a><a name="p137713153495"></a>Type of the events to store. </p>
</td>
</tr>
<tr id="row158298389506"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p38301938105018"><a name="p38301938105018"></a><a name="p38301938105018"></a>listener</p>
</td>
<td class="cellrowborder" valign="top" width="22.68%" headers="mcps1.1.5.1.2 "><p id="p118305385503"><a name="p118305385503"></a><a name="p118305385503"></a><a href="#table4113811060">EventListener</a></p>
</td>
<td class="cellrowborder" valign="top" width="10.12%" headers="mcps1.1.5.1.3 "><p id="p18927121585115"><a name="p18927121585115"></a><a name="p18927121585115"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="52.38%" headers="mcps1.1.5.1.4 "><p id="p1883013382505"><a name="p1883013382505"></a><a name="p1883013382505"></a>Callback invoked to return the event.</p>
</td>
</tr>
</tbody>
</table>
**Table 2** EventListener
<a name="table4113811060"></a>
<table><thead align="left"><tr id="row181132115610"><th class="cellrowborder" valign="top" width="50%" id="mcps1.2.3.1.1"><p id="p5113191361"><a name="p5113191361"></a><a name="p5113191361"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="50%" id="mcps1.2.3.1.2"><p id="p161131811561"><a name="p161131811561"></a><a name="p161131811561"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row5113313614"><td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.1 "><p id="p241813217619"><a name="p241813217619"></a><a name="p241813217619"></a>EventListener = (evt: Object) =&gt; void</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><p id="p151131011166"><a name="p151131011166"></a><a name="p151131011166"></a>Event to store.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
process.on("data", (e)=>{
console.log("data callback");
})
```
## process.off<a name="section1228205293415"></a>
off\(type: string\): boolean
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| type | string | Yes| Type of the events to store. |
| listener | EventListener | Yes| Callback invoked to return the event.|
**Table 2** EventListener
| Name| Description|
| -------- | -------- |
| EventListener&nbsp;=&nbsp;(evt:&nbsp;Object)&nbsp;=&gt;&nbsp;void | Event to store.|
**Example**
```
process.on("data", (e)=>{
console.log("data callback");
})
```
## process.off
off(type: string): boolean
Deletes the event stored by the user.
- Parameters
<a name="table15223195413589"></a>
<table><thead align="left"><tr id="row722305475810"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p1722375495810"><a name="p1722375495810"></a><a name="p1722375495810"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p1222315547583"><a name="p1222315547583"></a><a name="p1222315547583"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p10223165410588"><a name="p10223165410588"></a><a name="p10223165410588"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p192238546586"><a name="p192238546586"></a><a name="p192238546586"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row112232547583"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p1014218415590"><a name="p1014218415590"></a><a name="p1014218415590"></a>type</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p1314216415913"><a name="p1314216415913"></a><a name="p1314216415913"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p71427411593"><a name="p71427411593"></a><a name="p71427411593"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p14142749591"><a name="p14142749591"></a><a name="p14142749591"></a>Type of the event to delete.</p>
</td>
</tr>
</tbody>
</table>
- Return values
<a name="table922785415814"></a>
<table><thead align="left"><tr id="row92271854115813"><th class="cellrowborder" valign="top" width="20.990000000000002%" id="mcps1.1.3.1.1"><p id="p1822715542582"><a name="p1822715542582"></a><a name="p1822715542582"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="79.01%" id="mcps1.1.3.1.2"><p id="p1622725445816"><a name="p1622725445816"></a><a name="p1622725445816"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row322716540586"><td class="cellrowborder" valign="top" width="20.990000000000002%" headers="mcps1.1.3.1.1 "><p id="p4227105415813"><a name="p4227105415813"></a><a name="p4227105415813"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="79.01%" headers="mcps1.1.3.1.2 "><p id="p20227155415582"><a name="p20227155415582"></a><a name="p20227155415582"></a>Returns <strong id="b9330203617455"><a name="b9330203617455"></a><a name="b9330203617455"></a>true</strong> if the event is deleted; returns <strong id="b1815112412453"><a name="b1815112412453"></a><a name="b1815112412453"></a>false</strong> otherwise.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
process.on("data", (e)=>{
console.log("data callback");
})
var result = process.off("data");
```
## process.exit<a name="section114951112414"></a>
exit\(code: number\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| type | string | Yes| Type of the event to delete.|
**Return value**
| Type| Description|
| -------- | -------- |
| boolean | Returns **true** if the event is deleted; returns **false** otherwise.|
**Example**
```
process.on("data", (e)=>{
console.log("data callback");
})
var result = process.off("data");
```
## process.exit
exit(code: number): void
Terminates this process.
- Parameters
<a name="table691919201218"></a>
<table><thead align="left"><tr id="row14919182012210"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p79202201623"><a name="p79202201623"></a><a name="p79202201623"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p2092052010218"><a name="p2092052010218"></a><a name="p2092052010218"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p89201020123"><a name="p89201020123"></a><a name="p89201020123"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p2920142015220"><a name="p2920142015220"></a><a name="p2920142015220"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row19200201225"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p169201020724"><a name="p169201020724"></a><a name="p169201020724"></a>code</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p18920132014217"><a name="p18920132014217"></a><a name="p18920132014217"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p13920320023"><a name="p13920320023"></a><a name="p13920320023"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p592018206215"><a name="p592018206215"></a><a name="p592018206215"></a>Exit code of the process.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
process.exit(0);
```
## process.cwd<a name="section13686195712218"></a>
cwd\(\): string
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| code | number | Yes| Exit code of the process.|
**Example**
```
process.exit(0);
```
## process.cwd
cwd(): string
Obtains the working directory of this process.
- Example
**Example**
```
var path = process.cwd();
```
```
var path = process.cwd();
```
## process.chdir<a name="section43111956114115"></a>
## process.chdir
chdir\(dir: string\): void
chdir(dir: string): void
Changes the working directory of this process.
- Parameters
<a name="table202677324416"></a>
<table><thead align="left"><tr id="row162681432743"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p1426818321943"><a name="p1426818321943"></a><a name="p1426818321943"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p6268173214416"><a name="p6268173214416"></a><a name="p6268173214416"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p4268183211410"><a name="p4268183211410"></a><a name="p4268183211410"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p16268932748"><a name="p16268932748"></a><a name="p16268932748"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row19268183217420"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p82682321645"><a name="p82682321645"></a><a name="p82682321645"></a>dir</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p1226813321641"><a name="p1226813321641"></a><a name="p1226813321641"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p726915322416"><a name="p726915322416"></a><a name="p726915322416"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p026913215412"><a name="p026913215412"></a><a name="p026913215412"></a>New working directory.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
process.chdir('/system');
```
## process.uptime<a name="section167881439204913"></a>
uptime\(\): number
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| dir | string | Yes| Path|
**Example**
```
process.chdir('/system');
```
## process.uptime
uptime(): number
Obtains the running time of this process.
- Return values
**Return value**
<a name="table1447184441513"></a>
<table><thead align="left"><tr id="row134819448158"><th class="cellrowborder" valign="top" width="21.02%" id="mcps1.1.3.1.1"><p id="p34812447155"><a name="p34812447155"></a><a name="p34812447155"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="78.97999999999999%" id="mcps1.1.3.1.2"><p id="p548204471513"><a name="p548204471513"></a><a name="p548204471513"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row114894411519"><td class="cellrowborder" valign="top" width="21.02%" headers="mcps1.1.3.1.1 "><p id="p848104412156"><a name="p848104412156"></a><a name="p848104412156"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="78.97999999999999%" headers="mcps1.1.3.1.2 "><p id="p17605112914167"><a name="p17605112914167"></a><a name="p17605112914167"></a>Running time of the process, in seconds.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| number | Running time of the process, in seconds.|
- Example
**Example**
```
var time = process.uptime();
```
```
var time = process.uptime();
```
## process.kill<a name="section3121181316503"></a>
## process.kill
kill\(pid: number, signal: number\): boolean
kill(pid: number, signal: number): boolean
Sends a signal to the specified process to terminate it.
- Parameters
<a name="table320419413195"></a>
<table><thead align="left"><tr id="row17204104113196"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p192040414196"><a name="p192040414196"></a><a name="p192040414196"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p112051141111917"><a name="p112051141111917"></a><a name="p112051141111917"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p1820513411192"><a name="p1820513411192"></a><a name="p1820513411192"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p10205104171912"><a name="p10205104171912"></a><a name="p10205104171912"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row16205124115197"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p17205194119198"><a name="p17205194119198"></a><a name="p17205194119198"></a>pid</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p9206154111912"><a name="p9206154111912"></a><a name="p9206154111912"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p129831811973"><a name="p129831811973"></a><a name="p129831811973"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p4206174101910"><a name="p4206174101910"></a><a name="p4206174101910"></a>PID of the process, to which the signal will be sent.</p>
</td>
</tr>
<tr id="row468541102118"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p36851112210"><a name="p36851112210"></a><a name="p36851112210"></a>signal</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p1368614117219"><a name="p1368614117219"></a><a name="p1368614117219"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p56868110217"><a name="p56868110217"></a><a name="p56868110217"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p166869118217"><a name="p166869118217"></a><a name="p166869118217"></a>Signal to send.</p>
</td>
</tr>
</tbody>
</table>
- Return values
<a name="table320610411199"></a>
<table><thead align="left"><tr id="row19206941101910"><th class="cellrowborder" valign="top" width="20.990000000000002%" id="mcps1.1.3.1.1"><p id="p16207134111917"><a name="p16207134111917"></a><a name="p16207134111917"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="79.01%" id="mcps1.1.3.1.2"><p id="p3207124181912"><a name="p3207124181912"></a><a name="p3207124181912"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row15207741141911"><td class="cellrowborder" valign="top" width="20.990000000000002%" headers="mcps1.1.3.1.1 "><p id="p1620714412197"><a name="p1620714412197"></a><a name="p1620714412197"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="79.01%" headers="mcps1.1.3.1.2 "><p id="p7207194141914"><a name="p7207194141914"></a><a name="p7207194141914"></a>Returns <strong id="b5691160144712"><a name="b5691160144712"></a><a name="b5691160144712"></a>true</strong> if the signal is sent successfully; returns <strong id="b5409191810479"><a name="b5409191810479"></a><a name="b5409191810479"></a>false</strong> otherwise.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var pres = process.pid
var result = that.kill(pres, 28)
```
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| pid | number | Yes| PID of the process, to which the signal will be sent.|
| signal | number | Yes| Signal to send.|
**Return value**
| Type| Description|
| -------- | -------- |
| boolean | Returns **true** if the signal is sent successfully; returns **false** otherwise.|
**Example**
```
var pres = process.pid
var result = that.kill(pres, 28)
```
# URI String Parsing<a name="EN-US_TOPIC_0000001206361591"></a>
# URI String Parsing
>![](../../public_sys-resources/icon-note.gif) **NOTE:**
>The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
> The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.
## Modules to Import<a name="section2080512344162"></a>
## Modules to Import
```
import uri from '@ohos.uri'
```
## Required Permissions<a name="section11257113618419"></a>
None
## URI<a name="section148871646203714"></a>
### Attributes<a name="section18482944113517"></a>
<a name="table20482104463514"></a>
<table><thead align="left"><tr id="row1348214444357"><th class="cellrowborder" valign="top" width="15.870000000000001%" id="mcps1.1.6.1.1"><p id="p184822443351"><a name="p184822443351"></a><a name="p184822443351"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="10.86%" id="mcps1.1.6.1.2"><p id="p1648254415353"><a name="p1648254415353"></a><a name="p1648254415353"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.34%" id="mcps1.1.6.1.3"><p id="p9482124413355"><a name="p9482124413355"></a><a name="p9482124413355"></a>Readable</p>
</th>
<th class="cellrowborder" valign="top" width="11.51%" id="mcps1.1.6.1.4"><p id="p3482124493515"><a name="p3482124493515"></a><a name="p3482124493515"></a>Writable</p>
</th>
<th class="cellrowborder" valign="top" width="52.42%" id="mcps1.1.6.1.5"><p id="p12482104483513"><a name="p12482104483513"></a><a name="p12482104483513"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row148254473513"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p1832319183511"><a name="p1832319183511"></a><a name="p1832319183511"></a>scheme</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p3482124417356"><a name="p3482124417356"></a><a name="p3482124417356"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p16483194443514"><a name="p16483194443514"></a><a name="p16483194443514"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p630714163422"><a name="p630714163422"></a><a name="p630714163422"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p72131224114411"><a name="p72131224114411"></a><a name="p72131224114411"></a>Protocol in the URI.</p>
</td>
</tr>
<tr id="row58631729183511"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p1669917383355"><a name="p1669917383355"></a><a name="p1669917383355"></a>userInfo</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p986510296359"><a name="p986510296359"></a><a name="p986510296359"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p14865182993518"><a name="p14865182993518"></a><a name="p14865182993518"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p1586552915355"><a name="p1586552915355"></a><a name="p1586552915355"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p12865829133514"><a name="p12865829133514"></a><a name="p12865829133514"></a>User information in the URI.</p>
</td>
</tr>
<tr id="row173737374371"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p73744376373"><a name="p73744376373"></a><a name="p73744376373"></a>host</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p183741337173714"><a name="p183741337173714"></a><a name="p183741337173714"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p13374237173711"><a name="p13374237173711"></a><a name="p13374237173711"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p1737416372376"><a name="p1737416372376"></a><a name="p1737416372376"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p737414373372"><a name="p737414373372"></a><a name="p737414373372"></a>Host name (without the port number) in the URI.</p>
</td>
</tr>
<tr id="row18603545143715"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p1360410454373"><a name="p1360410454373"></a><a name="p1360410454373"></a>port</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p1260410456378"><a name="p1260410456378"></a><a name="p1260410456378"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p146042453371"><a name="p146042453371"></a><a name="p146042453371"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p460416456374"><a name="p460416456374"></a><a name="p460416456374"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p3153171613242"><a name="p3153171613242"></a><a name="p3153171613242"></a>Port number in the URI.</p>
</td>
</tr>
<tr id="row15118124793712"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p9121914204110"><a name="p9121914204110"></a><a name="p9121914204110"></a>path</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p41181471376"><a name="p41181471376"></a><a name="p41181471376"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p10118447153719"><a name="p10118447153719"></a><a name="p10118447153719"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p1111884793714"><a name="p1111884793714"></a><a name="p1111884793714"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p18565132916244"><a name="p18565132916244"></a><a name="p18565132916244"></a>Path in the URI.</p>
</td>
</tr>
<tr id="row2998164312378"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p20998643103713"><a name="p20998643103713"></a><a name="p20998643103713"></a>query</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p1899804315372"><a name="p1899804315372"></a><a name="p1899804315372"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p1399820431377"><a name="p1399820431377"></a><a name="p1399820431377"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p29980434371"><a name="p29980434371"></a><a name="p29980434371"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p1299814373714"><a name="p1299814373714"></a><a name="p1299814373714"></a>Query part in the URI.</p>
</td>
</tr>
<tr id="row6527542193711"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p1852784212370"><a name="p1852784212370"></a><a name="p1852784212370"></a>fragment</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p205271742183711"><a name="p205271742183711"></a><a name="p205271742183711"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p952724233717"><a name="p952724233717"></a><a name="p952724233717"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p1452784214373"><a name="p1452784214373"></a><a name="p1452784214373"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p18527842143718"><a name="p18527842143718"></a><a name="p18527842143718"></a>Fragment part in the URI.</p>
</td>
</tr>
<tr id="row1221604019378"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p12161040193711"><a name="p12161040193711"></a><a name="p12161040193711"></a>authority</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p12161040103714"><a name="p12161040103714"></a><a name="p12161040103714"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p621674073715"><a name="p621674073715"></a><a name="p621674073715"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p1821624033711"><a name="p1821624033711"></a><a name="p1821624033711"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p1421614403377"><a name="p1421614403377"></a><a name="p1421614403377"></a>Authority part in the URI.</p>
</td>
</tr>
<tr id="row763211357376"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p1863313520378"><a name="p1863313520378"></a><a name="p1863313520378"></a>ssp</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p8633113583715"><a name="p8633113583715"></a><a name="p8633113583715"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p1663363533710"><a name="p1663363533710"></a><a name="p1663363533710"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p1763312358374"><a name="p1763312358374"></a><a name="p1763312358374"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p363383518374"><a name="p363383518374"></a><a name="p363383518374"></a>Scheme-specific part in the URI.</p>
</td>
</tr>
</tbody>
</table>
### constructor<a name="section796748155213"></a>
constructor\(uri: string\)
## System Capabilities
SystemCapability.Utils.Lang
## URI
### Attributes
| Name| Type| Readable| Writable| Description|
| -------- | -------- | -------- | -------- | -------- |
| scheme | string | Yes| No| Scheme in the URI.|
| userInfo | string | Yes| No| User information in the URI.|
| host | string | Yes| No| Host name (without the port number) in the URI.|
| port | string | Yes| No| Port number in the URI.|
| path | string | Yes| No| Path in the URI.|
| query | string | Yes| No| Query part in the URI.|
| fragment | string | Yes| No| Fragment part in the URI.|
| authority | string | Yes| No| Authority part in the URI.|
| ssp | string | Yes| No| Scheme-specific part in the URI.|
### constructor
constructor(uri: string)
A constructor used to create a URI instance.
- Parameters
<a name="table1723015271384"></a>
<table><thead align="left"><tr id="row42301327153814"><th class="cellrowborder" valign="top" width="15.870000000000001%" id="mcps1.1.6.1.1"><p id="p102307272383"><a name="p102307272383"></a><a name="p102307272383"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="10.86%" id="mcps1.1.6.1.2"><p id="p202307278382"><a name="p202307278382"></a><a name="p202307278382"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.34%" id="mcps1.1.6.1.3"><p id="p19231227113813"><a name="p19231227113813"></a><a name="p19231227113813"></a>Readable</p>
</th>
<th class="cellrowborder" valign="top" width="11.51%" id="mcps1.1.6.1.4"><p id="p1123113278381"><a name="p1123113278381"></a><a name="p1123113278381"></a>Writable</p>
</th>
<th class="cellrowborder" valign="top" width="52.42%" id="mcps1.1.6.1.5"><p id="p5231172773815"><a name="p5231172773815"></a><a name="p5231172773815"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row122318279387"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p161271253807"><a name="p161271253807"></a><a name="p161271253807"></a>url</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p11231102719382"><a name="p11231102719382"></a><a name="p11231102719382"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p182311827173812"><a name="p182311827173812"></a><a name="p182311827173812"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p1023152712389"><a name="p1023152712389"></a><a name="p1023152712389"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p323132783819"><a name="p323132783819"></a><a name="p323132783819"></a>Input parameter object.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var mm = 'http://username:password@host:8080/directory/file?foo=1&bar=2#fragment';
new uri.URI(mm); // Output 'http://username:password@host:8080/directory/file?foo=1&bar=2#fragment';
```
```
new uri.URI('http://username:password@host:8080'); // Output 'http://username:password@host:8080';
```
### toString<a name="section1520812025513"></a>
toString\(\): string
**Parameters**
Obtains the query string applicable to this URL.
| Name| Type.| Readable| Writable| Description|
| -------- | -------- | -------- | -------- | -------- |
| url | string | Yes| Yes| Input object.|
- Return values
**Example**
<a name="table201041412244"></a>
<table><thead align="left"><tr id="row410431122411"><th class="cellrowborder" valign="top" width="20.990000000000002%" id="mcps1.1.3.1.1"><p id="p110413182418"><a name="p110413182418"></a><a name="p110413182418"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="79.01%" id="mcps1.1.3.1.2"><p id="p181042116249"><a name="p181042116249"></a><a name="p181042116249"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row110421182413"><td class="cellrowborder" valign="top" width="20.990000000000002%" headers="mcps1.1.3.1.1 "><p id="p510461102411"><a name="p510461102411"></a><a name="p510461102411"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="79.01%" headers="mcps1.1.3.1.2 "><p id="p159992542327"><a name="p159992542327"></a><a name="p159992542327"></a>Website address in a serialized string.</p>
</td>
</tr>
</tbody>
</table>
```
var mm = 'http://username:password@host:8080/directory/file?foo=1&bar=2#fragment';
new uri.URI(mm); // Output 'http://username:password@host:8080/directory/file?foo=1&bar=2#fragment';
```
```
new uri.URI('http://username:password@host:8080'); // Output 'http://username:password@host:8080';
```
### toString
toString(): string
- Example
Obtains the query string applicable to this URL.
**Return value**
| Type.| Description|
| -------- | -------- |
| string | Website address in a serialized string.|
```
const url = new uri.URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');
url.toString()
```
**Example**
```
const url = new uri.URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');
url.toString()
```
### equals<a name="section8201184114551"></a>
equals\(other: URI\): boolean
### equals
equals(other: URI): boolean
Checks whether this URI is the same as another URI object.
- Parameters
<a name="table69661135912"></a>
<table><thead align="left"><tr id="row149668318915"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p7966738914"><a name="p7966738914"></a><a name="p7966738914"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p296713699"><a name="p296713699"></a><a name="p296713699"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p196718315911"><a name="p196718315911"></a><a name="p196718315911"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p9967231197"><a name="p9967231197"></a><a name="p9967231197"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row99671533914"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p79671633910"><a name="p79671633910"></a><a name="p79671633910"></a>other</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p780818507106"><a name="p780818507106"></a><a name="p780818507106"></a><a href="#section148871646203714">URI</a></p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p19671336916"><a name="p19671336916"></a><a name="p19671336916"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p69671631796"><a name="p69671631796"></a><a name="p69671631796"></a>URI object to compare.</p>
</td>
</tr>
</tbody>
</table>
- Return values
<a name="table648816575178"></a>
<table><thead align="left"><tr id="row54897577177"><th class="cellrowborder" valign="top" width="20.990000000000002%" id="mcps1.1.3.1.1"><p id="p548916576172"><a name="p548916576172"></a><a name="p548916576172"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="79.01%" id="mcps1.1.3.1.2"><p id="p748995711718"><a name="p748995711718"></a><a name="p748995711718"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row448917570178"><td class="cellrowborder" valign="top" width="20.990000000000002%" headers="mcps1.1.3.1.1 "><p id="p848910579172"><a name="p848910579172"></a><a name="p848910579172"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="79.01%" headers="mcps1.1.3.1.2 "><p id="p18489257161712"><a name="p18489257161712"></a><a name="p18489257161712"></a>Returns <strong id="b137321971865"><a name="b137321971865"></a><a name="b137321971865"></a>true</strong> if the two URIs are the same; returns <strong id="b1160661310617"><a name="b1160661310617"></a><a name="b1160661310617"></a>false</strong> otherwise.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const uriInstance = new uri.URI('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');
const uriInstance1 = new uri.URI('http://username:password@host:8080/directory/file?query=pppppp#qwer=da#fragment');
uriInstance.equals(uriInstance1);
```
### checkIsAbsolute<a name="section17961333135611"></a>
checkIsAbsolute\(\): boolean
Checks whether this URI is an absolute URI \(whether the scheme component is defined\).
- Return values
<a name="table10605130142117"></a>
<table><thead align="left"><tr id="row156051502216"><th class="cellrowborder" valign="top" width="20.990000000000002%" id="mcps1.1.3.1.1"><p id="p1260640112112"><a name="p1260640112112"></a><a name="p1260640112112"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="79.01%" id="mcps1.1.3.1.2"><p id="p136062012215"><a name="p136062012215"></a><a name="p136062012215"></a><strong id="b33155560324644"><a name="b33155560324644"></a><a name="b33155560324644"></a>Description</strong></p>
</th>
</tr>
</thead>
<tbody><tr id="row176062022120"><td class="cellrowborder" valign="top" width="20.990000000000002%" headers="mcps1.1.3.1.1 "><p id="p19606140142119"><a name="p19606140142119"></a><a name="p19606140142119"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="79.01%" headers="mcps1.1.3.1.2 "><p id="p2060690182114"><a name="p2060690182114"></a><a name="p2060690182114"></a>Returns <strong id="b1461184214711"><a name="b1461184214711"></a><a name="b1461184214711"></a>true</strong> if the URI is an absolute URI; returns <strong id="b13725458815"><a name="b13725458815"></a><a name="b13725458815"></a>false</strong> otherwise.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const uriInstance = new uri.URI('http://username:password@www.qwer.com:8080?query=pppppp');
uriInstance.checkIsAbsolute();
```
### normalize<a name="section974214585573"></a>
normalize\(\): URI
**Parameters**
Normalizes the path of this URI.
| Name| Type.| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| other | [URI](#uri) | Yes| URI object to compare.|
**Return value**
| Type.| Description|
| -------- | -------- |
| boolean | Returns **true** if the two URIs are the same; returns **false** otherwise.|
**Example**
```
const uriInstance = new uri.URI('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');
const uriInstance1 = new uri.URI('http://username:password@host:8080/directory/file?query=pppppp#qwer=da#fragment');
uriInstance.equals(uriInstance1);
```
### checkIsAbsolute
checkIsAbsolute(): boolean
- Return values
Checks whether this URI is an absolute URI (whether the scheme component is defined).
<a name="table981932613263"></a>
<table><thead align="left"><tr id="row38194264264"><th class="cellrowborder" valign="top" width="20.990000000000002%" id="mcps1.1.3.1.1"><p id="p178208263269"><a name="p178208263269"></a><a name="p178208263269"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="79.01%" id="mcps1.1.3.1.2"><p id="p15820112672617"><a name="p15820112672617"></a><a name="p15820112672617"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row2820172622610"><td class="cellrowborder" valign="top" width="20.990000000000002%" headers="mcps1.1.3.1.1 "><p id="p13820122613264"><a name="p13820122613264"></a><a name="p13820122613264"></a>URI</p>
</td>
<td class="cellrowborder" valign="top" width="79.01%" headers="mcps1.1.3.1.2 "><p id="p18497141212339"><a name="p18497141212339"></a><a name="p18497141212339"></a>URI with the normalized path.</p>
</td>
</tr>
</tbody>
</table>
**Return value**
| Type.| Description|
| -------- | -------- |
| boolean | Returns **true** if the URI is an absolute URI; returns **false** otherwise.|
- Example
**Example**
```
const uriInstance = new uri.URI('http://username:password@www.qwer.com:8080/path/path1/../path2/./path3?query=pppppp');
let uriInstance1 = uriInstance.normalize();
uriInstance1.path;
```
```
const uriInstance = new uri.URI('http://username:password@www.qwer.com:8080?query=pppppp');
uriInstance.checkIsAbsolute();
```
### normalize
normalize(): URI
Normalizes the path of this URI.
**Return value**
| Type.| Description|
| -------- | -------- |
| URI | URI with the normalized path.|
**Example**
```
const uriInstance = new uri.URI('http://username:password@www.qwer.com:8080/path/path1/../path2/./path3?query=pppppp');
let uriInstance1 = uriInstance.normalize();
uriInstance1.path;
```
# URL String Parsing
> ![](../../public_sys-resources/icon-note.gif) **Note:**
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
......@@ -10,11 +10,9 @@
import Url from '@ohos.url'
```
## System Capabilities
## Required Permissions
None
SystemCapability.Utils.Lang
## URLSearchParams
......@@ -25,19 +23,21 @@ constructor(init?: string[][] | Record&lt;string, string&gt; | string | URLSearc
Creates a **URLSearchParams** instance.
- Parameters
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| init | string[][]&nbsp;\|&nbsp;Record&lt;string,&nbsp;string&gt;&nbsp;\|&nbsp;string&nbsp;\|&nbsp;URLSearchParams | No| Input parameter objects, which include the following: <br/>-&nbsp;**string[][]**: two-dimensional string array<br/>-&nbsp;**Record&lt;string,&nbsp;string&gt;**: list of objects<br/>-&nbsp;**string**: string<br/>-&nbsp;**URLSearchParams**: object|
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| init | string[][]&nbsp;\|&nbsp;Record&lt;string,&nbsp;string&gt;&nbsp;\|&nbsp;string&nbsp;\|&nbsp;URLSearchParams | No| Input parameter objects, which include the following: <br/>-&nbsp;**string[][]**: two-dimensional string array<br/>-&nbsp;**Record&lt;string,&nbsp;string&gt;**: list of objects<br/>-&nbsp;**string**: string<br/>-&nbsp;**URLSearchParams**: object|
**Example**
- Example
```
var objectParams = new URLSearchParams([ ['user1', 'abc1'], ['query2', 'first2'], ['query3', 'second3'] ]);
var objectParams1 = new URLSearchParams({"fod" : 1 , "bard" : 2});
var objectParams2 = new URLSearchParams('?fod=1&bard=2');
var urlObject = new URL('https://developer.mozilla.org/?fod=1&bard=2');
var params = new URLSearchParams(urlObject .search);
```
```
var objectParams = new URLSearchParams([ ['user1', 'abc1'], ['query2', 'first2'], ['query3', 'second3'] ]);
var objectParams1 = new URLSearchParams({"fod" : 1 , "bard" : 2});
var objectParams2 = new URLSearchParams('?fod=1&bard=2');
var urlObject = new URL('https://developer.mozilla.org/?fod=1&bard=2');
var params = new URLSearchParams(urlObject .search);
```
### append
......@@ -46,18 +46,20 @@ append(name: string, value: string): void
Appends a key-value pair into the query string.
- Parameters
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Key of the key-value pair to append.|
| value | string | Yes| Value of the key-value pair to append.|
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Key of the key-value pair to append.|
| value | string | Yes| Value of the key-value pair to append.|
**Example**
- Example
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new URLSearchParams(urlObject.search.slice(1));
paramsObject.append('fod', 3);
```
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new URLSearchParams(urlObject.search.slice(1));
paramsObject.append('fod', 3);
```
### delete
......@@ -66,17 +68,19 @@ delete(name: string): void
Deletes key-value pairs of the specified key.
- Parameters
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Key of the key-value pairs to delete.|
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Key of the key-value pairs to delete.|
**Example**
- Example
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsobject = new URLSearchParams(urlObject.search.slice(1));
paramsobject.delete('foo');
```
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsobject = new URLSearchParams(urlObject.search.slice(1));
paramsobject.delete('foo');
```
### getAll
......@@ -85,23 +89,26 @@ getAll(name: string): string[]
Obtains all the key-value pairs based on the specified key.
- Parameters
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Key specified to obtain all key-value pairs.|
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Key specified to obtain all key-value pairs.|
**Return value**
- Return values
| Type| Description|
| -------- | -------- |
| string[] | All key-value pairs matching the specified key.|
| Type| Description|
| -------- | -------- |
| string[] | All key-value pairs matching the specified key.|
- Example
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new URLSearchParams(urlObject.search.slice(1));
paramsObject.append('fod', 3); // Add a second value for the foo parameter.
console.log(params.getAll('fod')) // Output ["1","3"].
```
**Example**
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new URLSearchParams(urlObject.search.slice(1));
paramsObject.append('fod', 3); // Add a second value for the foo parameter.
console.log(params.getAll('fod')) // Output ["1","3"].
```
### entries
......@@ -110,18 +117,20 @@ entries(): IterableIterator&lt;[string, string]&gt;
Obtains an ES6 iterator. Each item of the iterator is a JavaScript array, and the first and second fields of each array are the key and value respectively.
- Return values
| Type| Description|
| -------- | -------- |
| IterableIterator&lt;[string,&nbsp;string]&gt; | An ES6 iterator.|
**Return value**
| Type| Description|
| -------- | -------- |
| IterableIterator&lt;[string,&nbsp;string]&gt; | An ES6 iterator.|
- Example
```
var searchParamsObject = new URLSearchParams("keyName1=valueName1&keyName2=valueName2");
for (var pair of searchParamsObject .entries()) { // Show keyName/valueName pairs
console.log(pair[0]+ ', '+ pair[1]);
}
```
**Example**
```
var searchParamsObject = new URLSearchParams("keyName1=valueName1&keyName2=valueName2");
for (var pair of searchParamsObject .entries()) { // Show keyName/valueName pairs
console.log(pair[0]+ ', '+ pair[1]);
}
```
### forEach
......@@ -130,27 +139,29 @@ forEach(callbackfn: (value: string, key: string, searchParams: Object) =&gt; voi
Traverses the key-value pairs in the **URLSearchParams** instance by using a callback.
- Parameters
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| callbackfn | function | Yes| Callback invoked to traverse the key-value pairs in the **URLSearchParams** instance.|
| thisArg | Object | No| Value to use when the callback is invoked.|
**Table 1** callbackfn parameter description
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | string | Yes| Value that is currently traversed.|
| key | string | Yes| Key that is currently traversed.|
| searchParams | Object | Yes| Instance that invokes the **forEach** method.|
- Example
```
const myURLObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
myURLObject.searchParams.forEach((value, name, searchParams) => {
console.log(name, value, myURLObject.searchParams === searchParams);
});
```
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| callbackfn | function | Yes| Callback invoked to traverse the key-value pairs in the **URLSearchParams** instance.|
| thisArg | Object | No| Value to use when the callback is invoked.|
**Table 1** callbackfn parameter description
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | string | Yes| Value that is currently traversed.|
| key | string | Yes| Key that is currently traversed.|
| searchParams | Object | Yes| Instance that invokes the **forEach** method.|
**Example**
```
const myURLObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
myURLObject.searchParams.forEach((value, name, searchParams) => {
console.log(name, value, myURLObject.searchParams === searchParams);
});
```
### get
......@@ -159,24 +170,27 @@ get(name: string): string | null
Obtains the value of the first key-value pair based on the specified key.
- Parameters
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Key specified to obtain the value.|
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Key specified to obtain the value.|
**Return value**
- Return values
| Type| Description|
| -------- | -------- |
| string | Returns the value of the first key-value pair if obtained.|
| null | Returns null if no value is obtained.|
| Type| Description|
| -------- | -------- |
| string | Returns the value of the first key-value pair if obtained.|
| null | Returns null if no value is obtained.|
- Example
```
var paramsOject = new URLSearchParams(document.location.search.substring(1));
var name = paramsOject.get("name"); // is the string "Jonathan"
var age = parseInt(paramsOject.get("age"), 10); // is the number 18
var address = paramsOject.get("address"); // null
```
**Example**
```
var paramsOject = new URLSearchParams(document.location.search.substring(1));
var name = paramsOject.get("name"); // is the string "Jonathan"
var age = parseInt(paramsOject.get("age"), 10); // is the number 18
var address = paramsOject.get("address"); // null
```
### has
......@@ -184,22 +198,26 @@ Obtains the value of the first key-value pair based on the specified key.
has(name: string): boolean
Checks whether a key has a value.
- Parameters
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Key specified to search for its value.|
- Return values
| Type| Description|
| -------- | -------- |
| boolean | Returns **true** if the value exists; returns **false** otherwise.|
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Key specified to search for its value.|
- Example
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new URLSearchParams(urlObject.search.slice(1));
paramsObject.has('bard') === true;
```
**Return value**
| Type| Description|
| -------- | -------- |
| boolean | Returns **true** if the value exists; returns **false** otherwise.|
**Example**
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new URLSearchParams(urlObject.search.slice(1));
paramsObject.has('bard') === true;
```
### set
......@@ -208,18 +226,20 @@ set(name: string, value: string): void
Sets the value for a key. If key-value pairs matching the specified key exist, the value of the first key-value pair will be set to the specified value and other key-value pairs will be deleted. Otherwise, the key-value pair will be appended to the query string.
- Parameters
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Key of the value to set.|
| value | string | Yes| Value to set.|
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Key of the value to set.|
| value | string | Yes| Value to set.|
- Example
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new URLSearchParams(urlObject.search.slice(1));
paramsObject.set('baz', 3); // Add a third parameter.
```
**Example**
```
let urlObject = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new URLSearchParams(urlObject.search.slice(1));
paramsObject.set('baz', 3); // Add a third parameter.
```
### sort
......@@ -229,13 +249,13 @@ sort(): void
Sorts all key-value pairs contained in this object based on the Unicode code points of the keys and returns undefined. This method uses a stable sorting algorithm, that is, the relative order between key-value pairs with equal keys is retained.
**Example**
- Example
```
var searchParamsObject = new URLSearchParams("c=3&a=9&b=4&d=2"); // Create a test URLSearchParams object
searchParamsObject.sort(); // Sort the key/value pairs
console.log(searchParamsObject.toString()); // Display the sorted query string // Output a=9&b=2&c=3&d=4
```
```
var searchParamsObject = new URLSearchParams("c=3&a=9&b=4&d=2"); // Create a test URLSearchParams object
searchParamsObject.sort(); // Sort the key/value pairs
console.log(searchParamsObject.toString()); // Display the sorted query string // Output a=9&b=2&c=3&d=4
```
### keys
......@@ -245,20 +265,20 @@ keys(): IterableIterator&lt;string&gt;
Obtains an ES6 iterator that contains the keys of all the key-value pairs.
**Return value**
- Return values
| Type| Description|
| -------- | -------- |
| IterableIterator&lt;string&gt; | ES6 iterator that contains the keys of all the key-value pairs.|
| Type| Description|
| -------- | -------- |
| IterableIterator&lt;string&gt; | ES6 iterator that contains the keys of all the key-value pairs.|
**Example**
- Example
```
var searchParamsObject = new URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing
for (var key of searchParamsObject .keys()) { // Output key-value pairs
console.log(key);
}
```
```
var searchParamsObject = new URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing
for (var key of searchParamsObject .keys()) { // Output key-value pairs
console.log(key);
}
```
### values
......@@ -267,41 +287,43 @@ values(): IterableIterator&lt;string&gt;
Obtains an ES6 iterator that contains the values of all the key-value pairs.
- Return values
| Type| Description|
| -------- | -------- |
| IterableIterator&lt;string&gt; | ES6 iterator that contains the values of all the key-value pairs.|
**Return value**
| Type| Description|
| -------- | -------- |
| IterableIterator&lt;string&gt; | ES6 iterator that contains the values of all the key-value pairs.|
- Example
```
var searchParams = new URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing
for (var value of searchParams.values()) {
console.log(value);
}
```
**Example**
```
var searchParams = new URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing
for (var value of searchParams.values()) {
console.log(value);
}
```
### [Symbol.iterator]
[Symbol.iterator](): IterableIterator&lt;[string, string]&gt;
[Symbol.iterator]\(): IterableIterator&lt;[string, string]&gt;
Obtains an ES6 iterator. Each item of the iterator is a JavaScript array, and the first and second fields of each array are the key and value respectively.
**Return value**
- Return values
| Type| Description|
| -------- | -------- |
| IterableIterator&lt;[string,&nbsp;string]&gt; | An ES6 iterator.|
| Type| Description|
| -------- | -------- |
| IterableIterator&lt;[string,&nbsp;string]&gt; | ES6 iterator.|
**Example**
- Example
```
const paramsObject = new URLSearchParams('fod=bay&edg=bap');
for (const [name, value] of paramsObject) {
console.log(name, value);
}
```
```
const paramsObject = new URLSearchParams('fod=bay&edg=bap');
for (const [name, value] of paramsObject) {
console.log(name, value);
}
```
### tostring
......@@ -311,20 +333,20 @@ toString(): string
Obtains search parameters that are serialized as a string and, if necessary, percent-encodes the characters in the string.
**Return value**
- Return values
| Type| Description|
| -------- | -------- |
| string | String of serialized search parameters, which is percent-encoded if necessary.|
| Type| Description|
| -------- | -------- |
| string | String of serialized search parameters, which is percent-encoded if necessary.|
**Example**
- Example
```
let url = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let params = new URLSearchParams(url.search.slice(1));
params.append('fod', 3);
console.log(params.toString());
```
```
let url = new URL('https://developer.exampleUrl/?fod=1&bard=2');
let params = new URLSearchParams(url.search.slice(1));
params.append('fod', 3);
console.log(params.toString());
```
## URL
......@@ -355,29 +377,29 @@ constructor(url: string, base?: string | URL)
Creates a URL.
**Parameters**
- Parameters
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| url | string | Yes| Input object.|
| base | string&nbsp;\|&nbsp;URL | No| Input parameter, which can be any of the following: <br/>-&nbsp;**string**: string<br/>-&nbsp;**URL**: string or object|
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| url | string | Yes| Input object.|
| base | string&nbsp;\|&nbsp;URL | No| Input parameter, which can be any of the following: <br/>-&nbsp;**string**: string<br/>-&nbsp;**URL**: string or object|
**Example**
- Example
```
var mm = 'http://username:password@host:8080';
var a = new URL("/", mm); // Output 'http://username:password@host:8080/';
var b = new URL(mm); // Output 'http://username:password@host:8080/';
new URL('path/path1', b); // Output 'http://username:password@host:8080/path/path1';
var c = new URL('/path/path1', b); // Output 'http://username:password@host:8080/path/path1';
new URL('/path/path1', c); // Output 'http://username:password@host:8080/path/path1';
new URL('/path/path1', a); // Output 'http://username:password@host:8080/path/path1';
new URL('/path/path1', "https://www.exampleUrl/fr-FR/toto"); // Output https://www.exampleUrl/path/path1
new URL('/path/path1', ''); // Raises a TypeError exception as '' is not a valid URL
new URL('/path/path1'); // Raises a TypeError exception as '/path/path1' is not a valid URL
new URL('http://www.shanxi.com', ); // Output http://www.shanxi.com/
new URL('http://www.shanxi.com', b); // Output http://www.shanxi.com/
```
```
var mm = 'http://username:password@host:8080';
var a = new URL("/", mm); // Output 'http://username:password@host:8080/';
var b = new URL(mm); // Output 'http://username:password@host:8080/';
new URL('path/path1', b); // Output 'http://username:password@host:8080/path/path1';
var c = new URL('/path/path1', b); // Output 'http://username:password@host:8080/path/path1';
new URL('/path/path1', c); // Output 'http://username:password@host:8080/path/path1';
new URL('/path/path1', a); // Output 'http://username:password@host:8080/path/path1';
new URL('/path/path1', "https://www.exampleUrl/fr-FR/toto"); // Output https://www.exampleUrl/path/path1
new URL('/path/path1', ''); // Raises a TypeError exception as '' is not a valid URL
new URL('/path/path1'); // Raises a TypeError exception as '/path/path1' is not a valid URL
new URL('http://www.shanxi.com', ); // Output http://www.shanxi.com/
new URL('http://www.shanxi.com', b); // Output http://www.shanxi.com/
```
### tostring
......@@ -386,18 +408,18 @@ toString(): string
Converts the parsed URL into a string.
**Return value**
- Return values
| Type| Description|
| -------- | -------- |
| string | Website address in a serialized string.|
| Type| Description|
| -------- | -------- |
| string | Website address in a serialized string.|
**Example**
- Example
```
const url = new URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');
url.toString()
```
```
const url = new URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');
url.toString()
```
### toJSON
......@@ -407,15 +429,14 @@ toJSON(): string
Converts the parsed URL into a JSON string.
**Return value**
- Return values
| Type| Description|
| -------- | -------- |
| string | Website address in a serialized string.|
| Type| Description|
| -------- | -------- |
| string | Website address in a serialized string.|
- Example
```
const url = new URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');
url.toJSON()
```
**Example**
```
const url = new URL('http://username:password@host:8080/directory/file?query=pppppp#qwer=da');
url.toJSON()
```
因为 它太大了无法显示 source diff 。你可以改为 查看blob
# Worker Startup<a name="EN-US_TOPIC_0000001172830331"></a>
# Worker Startup
>**NOTE:**
>The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
## Modules to Import<a name="s56d19203690d4782bfc74069abb6bd71"></a>
## Modules to Import
```
import worker from '@ohos.worker';
```
## Required Permissions<a name="section11257113618419"></a>
None
## Attributes<a name="section1578718135716"></a>
<a name="table17771723175716"></a>
<table><thead align="left"><tr id="row1977112237573"><th class="cellrowborder" valign="top" width="15.870000000000001%" id="mcps1.1.6.1.1"><p id="p12771142335710"><a name="p12771142335710"></a><a name="p12771142335710"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="18.19%" id="mcps1.1.6.1.2"><p id="p12771202325716"><a name="p12771202325716"></a><a name="p12771202325716"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="11.64%" id="mcps1.1.6.1.3"><p id="p1577117232576"><a name="p1577117232576"></a><a name="p1577117232576"></a>Readable</p>
</th>
<th class="cellrowborder" valign="top" width="10.31%" id="mcps1.1.6.1.4"><p id="p2771623185711"><a name="p2771623185711"></a><a name="p2771623185711"></a>Writable</p>
</th>
<th class="cellrowborder" valign="top" width="43.99%" id="mcps1.1.6.1.5"><p id="p197711223155714"><a name="p197711223155714"></a><a name="p197711223155714"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row877142318577"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p1771192315710"><a name="p1771192315710"></a><a name="p1771192315710"></a>parentPort</p>
</td>
<td class="cellrowborder" valign="top" width="18.19%" headers="mcps1.1.6.1.2 "><p id="p396011395812"><a name="p396011395812"></a><a name="p396011395812"></a><a href="#section36872023123912">DedicatedWorkerGlobalScope</a></p>
</td>
<td class="cellrowborder" valign="top" width="11.64%" headers="mcps1.1.6.1.3 "><p id="p677122335711"><a name="p677122335711"></a><a name="p677122335711"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="10.31%" headers="mcps1.1.6.1.4 "><p id="p17719232577"><a name="p17719232577"></a><a name="p17719232577"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="43.99%" headers="mcps1.1.6.1.5 "><p id="p205212394586"><a name="p205212394586"></a><a name="p205212394586"></a>Object of the worker thread used to communicate with the host thread.</p>
</td>
</tr>
</tbody>
</table>
## WorkerOptions<a name="section189341937163212"></a>
## System Capabilities
SystemCapability.Utils.Lang
## Attributes
| Name| Type| Readable| Writable| Description|
| -------- | -------- | -------- | -------- | -------- |
| parentPort | [DedicatedWorkerGlobalScope](#dedicatedworkerglobalscope) | Yes| Yes| Object of the worker thread used to communicate with the host thread.|
## WorkerOptions
Provides options that can be set for the worker to create.
<a name="table728861911417"></a>
<table><thead align="left"><tr id="row62887198149"><th class="cellrowborder" valign="top" width="15.870000000000001%" id="mcps1.1.6.1.1"><p id="p928811911410"><a name="p928811911410"></a><a name="p928811911410"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="18.19%" id="mcps1.1.6.1.2"><p id="p8288191916149"><a name="p8288191916149"></a><a name="p8288191916149"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="11.64%" id="mcps1.1.6.1.3"><p id="p14288131911418"><a name="p14288131911418"></a><a name="p14288131911418"></a>Readable</p>
</th>
<th class="cellrowborder" valign="top" width="10.31%" id="mcps1.1.6.1.4"><p id="p1928861921411"><a name="p1928861921411"></a><a name="p1928861921411"></a>Writable</p>
</th>
<th class="cellrowborder" valign="top" width="43.99%" id="mcps1.1.6.1.5"><p id="p728815191149"><a name="p728815191149"></a><a name="p728815191149"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row528891919142"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p3288191991414"><a name="p3288191991414"></a><a name="p3288191991414"></a>type</p>
</td>
<td class="cellrowborder" valign="top" width="18.19%" headers="mcps1.1.6.1.2 "><p id="p3288121901418"><a name="p3288121901418"></a><a name="p3288121901418"></a>"classic"</p>
</td>
<td class="cellrowborder" valign="top" width="11.64%" headers="mcps1.1.6.1.3 "><p id="p182881319191414"><a name="p182881319191414"></a><a name="p182881319191414"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="10.31%" headers="mcps1.1.6.1.4 "><p id="p1176125118471"><a name="p1176125118471"></a><a name="p1176125118471"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="43.99%" headers="mcps1.1.6.1.5 "><p id="p1428811192144"><a name="p1428811192144"></a><a name="p1428811192144"></a>Mode in which the worker executes the script.</p>
</td>
</tr>
<tr id="row11288719111417"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p10288419131415"><a name="p10288419131415"></a><a name="p10288419131415"></a>name</p>
</td>
<td class="cellrowborder" valign="top" width="18.19%" headers="mcps1.1.6.1.2 "><p id="p428914193147"><a name="p428914193147"></a><a name="p428914193147"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="11.64%" headers="mcps1.1.6.1.3 "><p id="p3289121912146"><a name="p3289121912146"></a><a name="p3289121912146"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="10.31%" headers="mcps1.1.6.1.4 "><p id="p8289319111415"><a name="p8289319111415"></a><a name="p8289319111415"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="43.99%" headers="mcps1.1.6.1.5 "><p id="p1228991915144"><a name="p1228991915144"></a><a name="p1228991915144"></a>Name of the worker.</p>
</td>
</tr>
</tbody>
</table>
## Worker<a name="section182179935414"></a>
Before using the following methods, you must construct a worker instance. The **worker** class inherits from [EventTarget](#section256019311465).
### constructor<a name="section10131143931118"></a>
constructor\(scriptURL: string, options?: WorkerOptions\)
A constructor used to create a worker instance.
- Parameters
<a name="table761145571116"></a>
<table><thead align="left"><tr id="row1961555161115"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p9611355171115"><a name="p9611355171115"></a><a name="p9611355171115"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="20.9%" id="mcps1.1.5.1.2"><p id="p661185512119"><a name="p661185512119"></a><a name="p661185512119"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="10.77%" id="mcps1.1.5.1.3"><p id="p361855171113"><a name="p361855171113"></a><a name="p361855171113"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="53.510000000000005%" id="mcps1.1.5.1.4"><p id="p17611550112"><a name="p17611550112"></a><a name="p17611550112"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1061555121112"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p761175511117"><a name="p761175511117"></a><a name="p761175511117"></a>scriptURL</p>
</td>
<td class="cellrowborder" valign="top" width="20.9%" headers="mcps1.1.5.1.2 "><p id="p461155191111"><a name="p461155191111"></a><a name="p461155191111"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="10.77%" headers="mcps1.1.5.1.3 "><p id="p106165561111"><a name="p106165561111"></a><a name="p106165561111"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="53.510000000000005%" headers="mcps1.1.5.1.4 "><p id="p361655121112"><a name="p361655121112"></a><a name="p361655121112"></a>URL of the script to be executed by the worker. The script is stored in the <strong id="b1032422614435"><a name="b1032422614435"></a><a name="b1032422614435"></a>workers</strong> directory, which is in the same directory as the <strong id="b7458447164316"><a name="b7458447164316"></a><a name="b7458447164316"></a>pages</strong> directory of the new DevEco Studio project. If the <strong id="b1754142964418"><a name="b1754142964418"></a><a name="b1754142964418"></a>workers</strong> directory does not exist, you need to create it.</p>
</td>
</tr>
<tr id="row261115517115"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p106155541112"><a name="p106155541112"></a><a name="p106155541112"></a>options</p>
</td>
<td class="cellrowborder" valign="top" width="20.9%" headers="mcps1.1.5.1.2 "><p id="p186155516113"><a name="p186155516113"></a><a name="p186155516113"></a><a href="#section189341937163212">WorkerOptions</a></p>
</td>
<td class="cellrowborder" valign="top" width="10.77%" headers="mcps1.1.5.1.3 "><p id="p1161105511118"><a name="p1161105511118"></a><a name="p1161105511118"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="53.510000000000005%" headers="mcps1.1.5.1.4 "><p id="p1862255141118"><a name="p1862255141118"></a><a name="p1862255141118"></a>Options that can be set for the worker.</p>
</td>
</tr>
</tbody>
</table>
- Return values
<a name="table362855181117"></a>
<table><thead align="left"><tr id="row1462255191114"><th class="cellrowborder" valign="top" width="20.990000000000002%" id="mcps1.1.3.1.1"><p id="p1621355121115"><a name="p1621355121115"></a><a name="p1621355121115"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="79.01%" id="mcps1.1.3.1.2"><p id="p16295571119"><a name="p16295571119"></a><a name="p16295571119"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row116275516110"><td class="cellrowborder" valign="top" width="20.990000000000002%" headers="mcps1.1.3.1.1 "><p id="p76295515112"><a name="p76295515112"></a><a name="p76295515112"></a>Worker</p>
</td>
<td class="cellrowborder" valign="top" width="79.01%" headers="mcps1.1.3.1.2 "><p id="p362195531112"><a name="p362195531112"></a><a name="p362195531112"></a>Returns the worker instance created; returns <strong id="b49535319421"><a name="b49535319421"></a><a name="b49535319421"></a>undefined</strong> if the worker instance fails to be created.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const workerInstance = new worker.Worker("workers/worker.js", {name:"first worker"});
```
### postMessage<a name="section1410593619146"></a>
postMessage\(message: Object, options?: PostMessageOptions\): void
| Name| Type| Readable| Writable| Description|
| -------- | -------- | -------- | -------- | -------- |
| type | "classic" | Yes| Yes| Mode in which the worker executes the script.|
| name | string | Yes| Yes| Name of the worker.|
## Worker
Before using the following methods, you must construct a worker instance. The **Worker** class inherits from [EventTarget](#eventtarget).
### constructor
constructor(scriptURL: string, options?: WorkerOptions)
A constructor used to create a **Worker** instance.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| scriptURL | string | Yes| URL of the script to be executed by the worker. The script is stored in the **workers** directory, which is in the same directory as the **pages** directory of the new DevEco Studio project. If the **workers** directory does not exist, you need to create it.|
| options | [WorkerOptions](#workeroptions) | No| Options that can be set for the worker.|
**Return value**
| Type| Description|
| -------- | -------- |
| worker | Returns the **Worker** instance created; returns **undefined** if the **Worker** instance fails to be created.|
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js", {name:"first worker"});
```
### postMessage
postMessage(message: Object, options?: PostMessageOptions): void
Sends a message to the worker thread. The data is transferred using the structured clone algorithm.
- Parameters
<a name="table114831131512"></a>
<table><thead align="left"><tr id="row914851141517"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p214819113159"><a name="p214819113159"></a><a name="p214819113159"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="18.9%" id="mcps1.1.5.1.2"><p id="p1214921121519"><a name="p1214921121519"></a><a name="p1214921121519"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="8.49%" id="mcps1.1.5.1.3"><p id="p11491711141512"><a name="p11491711141512"></a><a name="p11491711141512"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="57.79%" id="mcps1.1.5.1.4"><p id="p171491011171512"><a name="p171491011171512"></a><a name="p171491011171512"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row91491211131519"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p914912115156"><a name="p914912115156"></a><a name="p914912115156"></a>message</p>
</td>
<td class="cellrowborder" valign="top" width="18.9%" headers="mcps1.1.5.1.2 "><p id="p1114918116154"><a name="p1114918116154"></a><a name="p1114918116154"></a>Object</p>
</td>
<td class="cellrowborder" valign="top" width="8.49%" headers="mcps1.1.5.1.3 "><p id="p314916118154"><a name="p314916118154"></a><a name="p314916118154"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="57.79%" headers="mcps1.1.5.1.4 "><p id="p814951171516"><a name="p814951171516"></a><a name="p814951171516"></a>Data to be sent to the worker.</p>
</td>
</tr>
<tr id="row5149511191511"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p161491511151511"><a name="p161491511151511"></a><a name="p161491511151511"></a>options</p>
</td>
<td class="cellrowborder" valign="top" width="18.9%" headers="mcps1.1.5.1.2 "><p id="p858904361718"><a name="p858904361718"></a><a name="p858904361718"></a><a href="#section176401093245">PostMessageOptions</a></p>
</td>
<td class="cellrowborder" valign="top" width="8.49%" headers="mcps1.1.5.1.3 "><p id="p61491811131518"><a name="p61491811131518"></a><a name="p61491811131518"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="57.79%" headers="mcps1.1.5.1.4 "><p id="p67490772615"><a name="p67490772615"></a><a name="p67490772615"></a><strong id="b562310530116"><a name="b562310530116"></a><a name="b562310530116"></a>ArrayBuffer</strong> instances that can be transferred. The <strong id="b95422281828"><a name="b95422281828"></a><a name="b95422281828"></a>transferList</strong> array cannot contain <strong id="b1223116341821"><a name="b1223116341821"></a><a name="b1223116341821"></a>null</strong>.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const workerInstance = new worker.Worker("workers/worker.js");
workerInstance.postMessage("hello world");
```
```
const workerInstance = new worker.Worker("workers/worker.js");
var buffer = new ArrayBuffer(8);
workerInstance.postMessage(buffer, [buffer]);
```
### on<a name="section1201327272"></a>
on\(type: string, listener: EventListener\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| message | Object | Yes| Data to be sent to the worker.|
| options | [PostMessageOptions](#postmessageoptions) | No| **ArrayBuffer** instances that can be transferred. The **transferList** array cannot contain **null**.|
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js");
workerInstance.postMessage("hello world");
```
```
const workerInstance= new worker.Worker("workers/worker.js");
var buffer = new ArrayBuffer(8);
workerInstance.postMessage(buffer, [buffer]);
```
### on
on(type: string, listener: EventListener): void
Adds an event listener to the worker.
- Parameters
<a name="table7033219276"></a>
<table><thead align="left"><tr id="row120143262719"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p13115322273"><a name="p13115322273"></a><a name="p13115322273"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p911732152715"><a name="p911732152715"></a><a name="p911732152715"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p15183232715"><a name="p15183232715"></a><a name="p15183232715"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p181132192710"><a name="p181132192710"></a><a name="p181132192710"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row161532162715"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p101732182712"><a name="p101732182712"></a><a name="p101732182712"></a>type</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p2115329277"><a name="p2115329277"></a><a name="p2115329277"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p17123242710"><a name="p17123242710"></a><a name="p17123242710"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p6143272720"><a name="p6143272720"></a><a name="p6143272720"></a>Type of the event to listen for.</p>
</td>
</tr>
<tr id="row3193202715"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p6115326275"><a name="p6115326275"></a><a name="p6115326275"></a>listener</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p171183272714"><a name="p171183272714"></a><a name="p171183272714"></a><a href="#section53411747134914">EventListener</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p4183292710"><a name="p4183292710"></a><a name="p4183292710"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p5173202714"><a name="p5173202714"></a><a name="p5173202714"></a>Callback to invoke when an event of the specified type occurs.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.on("alert", (e)=>{
console.log("alert listener callback");
})
```
### once<a name="section74391240133513"></a>
once\(type: string, listener: EventListener\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| type | string | Yes| Type of the event to listen for.|
| listener | [EventListener](#eventlistener) | Yes| Callback to invoke when an event of the specified type occurs.|
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.on("alert", (e)=>{
console.log("alert listener callback");
})
```
### once
once(type: string, listener: EventListener): void
Adds an event listener to the worker and removes the event listener automatically after it is invoked once.
- Parameters
<a name="table143916408357"></a>
<table><thead align="left"><tr id="row16439440193511"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p1743974013513"><a name="p1743974013513"></a><a name="p1743974013513"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p543924014354"><a name="p543924014354"></a><a name="p543924014354"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p0439114073513"><a name="p0439114073513"></a><a name="p0439114073513"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p34398400359"><a name="p34398400359"></a><a name="p34398400359"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row843916409354"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p7439840163518"><a name="p7439840163518"></a><a name="p7439840163518"></a>type</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p1144044063511"><a name="p1144044063511"></a><a name="p1144044063511"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p15440194023510"><a name="p15440194023510"></a><a name="p15440194023510"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p14401409359"><a name="p14401409359"></a><a name="p14401409359"></a>Type of the event to listen for.</p>
</td>
</tr>
<tr id="row4440040103517"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p644034018354"><a name="p644034018354"></a><a name="p644034018354"></a>listener</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p144401640163510"><a name="p144401640163510"></a><a name="p144401640163510"></a><a href="#section53411747134914">EventListener</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p44401740163511"><a name="p44401740163511"></a><a name="p44401740163511"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p1944074073514"><a name="p1944074073514"></a><a name="p1944074073514"></a>Callback to invoke when an event of the specified type occurs.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const workerInstance = new worker.Worker("workers/worker.js");
workerInstance.once("alert", (e)=>{
console.log("alert listener callback");
})
```
### off<a name="section8902182918363"></a>
off\(type: string, listener?: EventListener\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| type | string | Yes| Type of the event to listen for.|
| listener | [EventListener](#eventlistener) | Yes| Callback to invoke when an event of the specified type occurs.|
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js");
workerInstance.once("alert", (e)=>{
console.log("alert listener callback");
})
```
### off
off(type: string, listener?: EventListener): void
Removes an event listener for the worker.
- Parameters
<a name="table190342913364"></a>
<table><thead align="left"><tr id="row11903172973618"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p1690342920362"><a name="p1690342920362"></a><a name="p1690342920362"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p1490382916367"><a name="p1490382916367"></a><a name="p1490382916367"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p99037299364"><a name="p99037299364"></a><a name="p99037299364"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p1690372953611"><a name="p1690372953611"></a><a name="p1690372953611"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row2090362933610"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p1190462923619"><a name="p1190462923619"></a><a name="p1190462923619"></a>type</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p12904192913367"><a name="p12904192913367"></a><a name="p12904192913367"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p090462973617"><a name="p090462973617"></a><a name="p090462973617"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p20904122918367"><a name="p20904122918367"></a><a name="p20904122918367"></a>Type of the event for which the event listener is removed.</p>
</td>
</tr>
<tr id="row690452973612"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p12904329163616"><a name="p12904329163616"></a><a name="p12904329163616"></a>listener</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p2904429173617"><a name="p2904429173617"></a><a name="p2904429173617"></a><a href="#section53411747134914">EventListener</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p6904152916366"><a name="p6904152916366"></a><a name="p6904152916366"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p29042297361"><a name="p29042297361"></a><a name="p29042297361"></a>Callback of the event listener to remove.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const workerInstance = new worker.Worker("workers/worker.js");
workerInstance.off("alert");
```
### terminate<a name="section17586211104214"></a>
terminate\(\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| type | string | Yes| Type of the event for which the event listener is removed.|
| listener | [EventListener](#eventlistener) | No| Callback of the event listener to remove.|
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js");
workerInstance.off("alert");
```
### terminate
terminate(): void
Terminates the worker thread to stop the worker from receiving messages.
- Example
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.terminate()
```
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.terminate()
```
### onexit<a name="section1478913292320"></a>
### onexit
onexit?: \(code: number\) =\> void
onexit?: (code: number) =&gt; void
Defines the event handler to be called when the worker exits. The handler is executed in the host thread.
- Parameters
<a name="table144251138562"></a>
<table><thead align="left"><tr id="row194251138269"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p1642515387612"><a name="p1642515387612"></a><a name="p1642515387612"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p542513381612"><a name="p542513381612"></a><a name="p542513381612"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p1642513812611"><a name="p1642513812611"></a><a name="p1642513812611"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p0425133812610"><a name="p0425133812610"></a><a name="p0425133812610"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1742512381861"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p24258382612"><a name="p24258382612"></a><a name="p24258382612"></a>code</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p174261438564"><a name="p174261438564"></a><a name="p174261438564"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p1842612383620"><a name="p1842612383620"></a><a name="p1842612383620"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p1242614381868"><a name="p1242614381868"></a><a name="p1242614381868"></a>Code indicating the worker exit state.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.onexit = function(e) {
console.log("onexit")
}
```
### onerror<a name="section89811422210"></a>
onerror?: \(err: ErrorEvent\) =\> void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| code | number | No| Code indicating the worker exit state.|
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.onexit = function(e) {
console.log("onexit")
}
```
### onerror
onerror?: (err: ErrorEvent) =&gt; void
Defines the event handler to be called when an exception occurs during worker execution. The event handler is executed in the host thread.
- Parameters
<a name="table69831416228"></a>
<table><thead align="left"><tr id="row8989145222"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p1298181418228"><a name="p1298181418228"></a><a name="p1298181418228"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p49801492217"><a name="p49801492217"></a><a name="p49801492217"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p189810140222"><a name="p189810140222"></a><a name="p189810140222"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p1899131418229"><a name="p1899131418229"></a><a name="p1899131418229"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row699191413222"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p09919145226"><a name="p09919145226"></a><a name="p09919145226"></a>err</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p1099214172218"><a name="p1099214172218"></a><a name="p1099214172218"></a><a href="#section11241623172418">ErrorEvent</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p1199111442211"><a name="p1199111442211"></a><a name="p1199111442211"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p89991432215"><a name="p89991432215"></a><a name="p89991432215"></a>Error data.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.onerror = function(e) {
console.log("onerror")
}
```
### onmessage<a name="section516520044515"></a>
onmessage?: \(event: MessageEvent\) =\> void
Defines the event handler to be called when the host thread receives a message created by itself and sent by the worker through the **parentPort.postMessage**. The event handler is executed in the host thread.
- Parameters
<a name="table216615019451"></a>
<table><thead align="left"><tr id="row416618034516"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p17166180154519"><a name="p17166180154519"></a><a name="p17166180154519"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p7166605458"><a name="p7166605458"></a><a name="p7166605458"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p1916610174515"><a name="p1916610174515"></a><a name="p1916610174515"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p516610024519"><a name="p516610024519"></a><a name="p516610024519"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row10166407457"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p61667010455"><a name="p61667010455"></a><a name="p61667010455"></a>event</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p4166170164515"><a name="p4166170164515"></a><a name="p4166170164515"></a><a href="#section191271455124710">MessageEvent</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p016719074513"><a name="p016719074513"></a><a name="p016719074513"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p816770194518"><a name="p816770194518"></a><a name="p816770194518"></a>Message received.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.onmessage = function(e) {
console.log("onerror")
}
```
### onmessageerror<a name="section85981145102714"></a>
onmessageerror?: \(event: MessageEvent\) =\> void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| err | [ErrorEvent](#errorevent) | No| Error data.|
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.onerror = function(e) {
console.log("onerror")
}
```
### onmessage
onmessage?: (event: MessageEvent) =&gt; void
Defines the event handler to be called when the host thread receives a message created by itself and sent by the worker through the **parentPort.postMessage**. The event handler is executed in the host thread.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| event | [MessageEvent](#messageevent) | No| Message received.|
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.onmessage = function(e) {
console.log("onerror")
}
```
### onmessageerror
onmessageerror?: (event: MessageEvent) =&gt; void
Defines the event handler to be called when the worker receives a message that cannot be serialized. The event handler is executed in the host thread.
- Parameters
<a name="table195981745202716"></a>
<table><thead align="left"><tr id="row2059984512271"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p14599174562718"><a name="p14599174562718"></a><a name="p14599174562718"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p135991645152710"><a name="p135991645152710"></a><a name="p135991645152710"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p1159924522712"><a name="p1159924522712"></a><a name="p1159924522712"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p8599194522717"><a name="p8599194522717"></a><a name="p8599194522717"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row5599145102715"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p45991645172719"><a name="p45991645172719"></a><a name="p45991645172719"></a>event</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p135991645122712"><a name="p135991645122712"></a><a name="p135991645122712"></a><a href="#section191271455124710">MessageEvent</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p18599134519278"><a name="p18599134519278"></a><a name="p18599134519278"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p10600134514271"><a name="p10600134514271"></a><a name="p10600134514271"></a>Error data.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.onmessageerror= function(e) {
console.log("onmessageerror")
}
```
## EventTarget<a name="section256019311465"></a>
### addEventListener<a name="section16405103834511"></a>
addEventListener\(type: string, listener: EventListener\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| event | [MessageEvent](#messageevent) | No| Error data.|
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.onmessageerror= function(e) {
console.log("onmessageerror")
}
```
## EventTarget
### addEventListener
addEventListener(type: string, listener: EventListener): void
Adds an event listener to the worker.
- Parameters
<a name="table12405138134519"></a>
<table><thead align="left"><tr id="row1040553815452"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p1040523804519"><a name="p1040523804519"></a><a name="p1040523804519"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p740553818457"><a name="p740553818457"></a><a name="p740553818457"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p11405183814513"><a name="p11405183814513"></a><a name="p11405183814513"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p54066385459"><a name="p54066385459"></a><a name="p54066385459"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row94061238174510"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p194061438164512"><a name="p194061438164512"></a><a name="p194061438164512"></a>type</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p8406163864513"><a name="p8406163864513"></a><a name="p8406163864513"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p4406173816452"><a name="p4406173816452"></a><a name="p4406173816452"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p440603894519"><a name="p440603894519"></a><a name="p440603894519"></a>Type of the event to listen for.</p>
</td>
</tr>
<tr id="row1840693864519"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p1140603814450"><a name="p1140603814450"></a><a name="p1140603814450"></a>listener</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p104061338184515"><a name="p104061338184515"></a><a name="p104061338184515"></a><a href="#section53411747134914">EventListener</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p1040663812451"><a name="p1040663812451"></a><a name="p1040663812451"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p19406113874515"><a name="p19406113874515"></a><a name="p19406113874515"></a>Callback to invoke when an event of the specified type occurs.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.addEventListener("alert", (e)=>{
console.log("alert listener callback");
})
```
### removeEventListener<a name="section1437219413469"></a>
removeEventListener\(type: string, callback?: EventListener\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| type | string | Yes| Type of the event to listen for.|
| listener | [EventListener](#eventlistener) | Yes| Callback to invoke when an event of the specified type occurs.|
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.addEventListener("alert", (e)=>{
console.log("alert listener callback");
})
```
### removeEventListener
removeEventListener(type: string, callback?: EventListener): void
Removes an event listener for the worker.
- Parameters
<a name="table53725413461"></a>
<table><thead align="left"><tr id="row837284174614"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p1637216414614"><a name="p1637216414614"></a><a name="p1637216414614"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p1037220454619"><a name="p1037220454619"></a><a name="p1037220454619"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p2372547464"><a name="p2372547464"></a><a name="p2372547464"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p1937217484617"><a name="p1937217484617"></a><a name="p1937217484617"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row437224104618"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p193735414619"><a name="p193735414619"></a><a name="p193735414619"></a>type</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p63731542468"><a name="p63731542468"></a><a name="p63731542468"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p1437320413469"><a name="p1437320413469"></a><a name="p1437320413469"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p23739494618"><a name="p23739494618"></a><a name="p23739494618"></a>Type of the event for which the event listener is removed.</p>
</td>
</tr>
<tr id="row8373174114617"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p43731644464"><a name="p43731644464"></a><a name="p43731644464"></a>callback</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p1737324114614"><a name="p1737324114614"></a><a name="p1737324114614"></a><a href="#section53411747134914">EventListener</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p0373243465"><a name="p0373243465"></a><a name="p0373243465"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p132381754719"><a name="p132381754719"></a><a name="p132381754719"></a>Callback of the event listener to remove.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.removeEventListener("alert")
```
### dispatchEvent<a name="section1593912134916"></a>
dispatchEvent\(event: Event\): boolean
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| type | string | Yes| Type of the event for which the event listener is removed.|
| callback | [EventListener](#eventlistener) | No| Callback of the event listener to remove.|
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.removeEventListener("alert")
```
### dispatchEvent
dispatchEvent(event: Event): boolean
Dispatches the event defined for the worker.
- Parameters
<a name="table859431224913"></a>
<table><thead align="left"><tr id="row859451213495"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p11594111215495"><a name="p11594111215495"></a><a name="p11594111215495"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p175946122494"><a name="p175946122494"></a><a name="p175946122494"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p85941912124919"><a name="p85941912124919"></a><a name="p85941912124919"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p2059551219493"><a name="p2059551219493"></a><a name="p2059551219493"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row45951812184915"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p11595612144910"><a name="p11595612144910"></a><a name="p11595612144910"></a>event</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p17595712184913"><a name="p17595712184913"></a><a name="p17595712184913"></a><a href="#section1674694018507">Event</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p20595101217490"><a name="p20595101217490"></a><a name="p20595101217490"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p18595712144914"><a name="p18595712144914"></a><a name="p18595712144914"></a>Event to dispatch.</p>
</td>
</tr>
</tbody>
</table>
- Return values
<a name="table4536208105515"></a>
<table><thead align="left"><tr id="row25360810551"><th class="cellrowborder" valign="top" width="20.990000000000002%" id="mcps1.1.3.1.1"><p id="p2536685552"><a name="p2536685552"></a><a name="p2536685552"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="79.01%" id="mcps1.1.3.1.2"><p id="p185371287554"><a name="p185371287554"></a><a name="p185371287554"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row55371387555"><td class="cellrowborder" valign="top" width="20.990000000000002%" headers="mcps1.1.3.1.1 "><p id="p353718195511"><a name="p353718195511"></a><a name="p353718195511"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="79.01%" headers="mcps1.1.3.1.2 "><p id="p165388817555"><a name="p165388817555"></a><a name="p165388817555"></a>Returns<strong id="b2462162218403"><a name="b2462162218403"></a><a name="b2462162218403"></a> true</strong> if the event is dispatched successfully; returns <strong id="b459675193317"><a name="b459675193317"></a><a name="b459675193317"></a>false</strong> otherwise.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.dispatchEvent({type:"alert"})
```
### removeAllListener<a name="section1795215505533"></a>
removeAllListener\(\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| event | [Event](#event) | Yes| Event to dispatch.|
**Return value**
| Type| Description|
| -------- | -------- |
| boolean | Returns **true** if the event is dispatched successfully; returns **false** otherwise.|
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.dispatchEvent({type:"alert"})
```
### removeAllListener
removeAllListener(): void
Removes all event listeners for the worker.
- Example
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.removeAllListener({type:"alert"})
```
```
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.removeAllListener({type:"alert"})
```
## DedicatedWorkerGlobalScope<a name="section36872023123912"></a>
## DedicatedWorkerGlobalScope
Implements communication between the worker thread and the host thread. The **postMessage** API is used to send messages to the host thread, and the **close** API is used to terminate the worker thread. The **DedicatedWorkerGlobalScope** class inherits from [WorkerGlobalScope](#section12882825611).
Implements communication between the worker thread and the host thread. The **postMessage** API is used to send messages to the host thread, and the **close** API is used to terminate the worker thread. The **DedicatedWorkerGlobalScope** class inherits from [WorkerGlobalScope](#workerglobalscope).
### postMessage<a name="section1570345794013"></a>
postMessage\(message: Object, options?: PostMessageOptions\): void
### postMessage
postMessage(message: Object, options?: PostMessageOptions): void
Sends a message to the host thread from the worker.
- Parameters
<a name="table137041557154020"></a>
<table><thead align="left"><tr id="row97049574404"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p0704165764012"><a name="p0704165764012"></a><a name="p0704165764012"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p1570465764014"><a name="p1570465764014"></a><a name="p1570465764014"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p15704157104011"><a name="p15704157104011"></a><a name="p15704157104011"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p6704115794013"><a name="p6704115794013"></a><a name="p6704115794013"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row11704165784014"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p16704357174017"><a name="p16704357174017"></a><a name="p16704357174017"></a>message</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p970435754019"><a name="p970435754019"></a><a name="p970435754019"></a>Object</p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p1670405744010"><a name="p1670405744010"></a><a name="p1670405744010"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p10704457184013"><a name="p10704457184013"></a><a name="p10704457184013"></a>Data to be sent to the worker.</p>
</td>
</tr>
<tr id="row15704957194018"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p3705125754018"><a name="p3705125754018"></a><a name="p3705125754018"></a>options</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p19705125716402"><a name="p19705125716402"></a><a name="p19705125716402"></a><a href="#section176401093245">PostMessageOptions</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p1570535784016"><a name="p1570535784016"></a><a name="p1570535784016"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p8705857154016"><a name="p8705857154016"></a><a name="p8705857154016"></a><strong id="b39393445223"><a name="b39393445223"></a><a name="b39393445223"></a>ArrayBuffer</strong> instances that can be transferred. The <strong id="b161046012311"><a name="b161046012311"></a><a name="b161046012311"></a>transferList</strong> array cannot contain <strong id="b151041600231"><a name="b151041600231"></a><a name="b151041600231"></a>null</strong>.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
// main.js
import worker from "@ohos.worker";
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.postMessage("hello world")
workerInstance.onmessage = function(e) {
console.log("receive data from worker.js")
}
```
```
// worker.js
import worker from "@ohos.worker";
const parentPort = worker.parentPort;
parentPort.onmessage = function(e){
parentPort.postMessage("receive data from main.js")
}
```
### close<a name="section849610376427"></a>
close\(\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| message | Object | Yes| Data to be sent to the worker.|
| options | [PostMessageOptions](#postmessageoptions) | No| **ArrayBuffer** instances that can be transferred. The **transferList** array cannot contain **null**.|
**Example**
```
// main.js
import worker from '@ohos.worker';
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.postMessage("hello world")
workerInstance.onmessage = function(e) {
console.log("receive data from worker.js")
}
```
```
// worker.js
import worker from '@ohos.worker';
const parentPort = worker.parentPort;
parentPort.onmessage = function(e){
parentPort.postMessage("receive data from main.js")
}
```
### close
close(): void
Closes the worker thread to stop the worker from receiving messages.
- Example
```
// main.js
import worker from '@ohos.worker';
const workerInstance = new worker.Worker("workers/worker.js")
```
```
// worker.js
import worker from "@ohos.worker";
const parentPort = worker.parentPort;
parentPort.onmessage = function(e) {
parentPort.close()
}
```
### onmessage<a name="section1371121184815"></a>
onmessage?: \(event: MessageEvent\) =\> void
Defines the event handler to be called when the worker thread receives a message sent by the host thread through **worker.postMessage**. The event handler is executed in the worker thread.
- Parameters
<a name="table137182118481"></a>
<table><thead align="left"><tr id="row4372182164815"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p2372521144814"><a name="p2372521144814"></a><a name="p2372521144814"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p437213213483"><a name="p437213213483"></a><a name="p437213213483"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p15372182118484"><a name="p15372182118484"></a><a name="p15372182118484"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p1637282113484"><a name="p1637282113484"></a><a name="p1637282113484"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row103721521164820"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p13721821124817"><a name="p13721821124817"></a><a name="p13721821124817"></a>event</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p16372172144812"><a name="p16372172144812"></a><a name="p16372172144812"></a><a href="#section191271455124710">MessageEvent</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p1737232117486"><a name="p1737232117486"></a><a name="p1737232117486"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p6372142184820"><a name="p6372142184820"></a><a name="p6372142184820"></a>Message received.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
// main.js
import worker from '@ohos.worker';
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.postMessage("hello world")
```
```
// worker.js
import worker from "@ohos.worker";
const parentPort = worker.parentPort;
parentPort.onmessage = function(e) {
console.log("receive main.js message")
}
```
### onmessageerror<a name="section16116749135015"></a>
onmessageerror?: \(event: MessageEvent\) =\> void
**Example**
```
// main.js
import worker from '@ohos.worker';
const workerInstance = new worker.Worker("workers/worker.js")
```
```
// worker.js
import worker from '@ohos.worker';
const parentPort = worker.parentPort;
parentPort.onmessage = function(e) {
parentPort.close()
}
```
### onmessage
onmessage?: (event: MessageEvent) =&gt; void
Defines the event handler to be called when the worker thread receives a message sent by the host thread through **worker.postMessage**. The event handler is executed in the worker thread.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| event | [MessageEvent](#messageevent) | No| Message received.|
**Example**
```
// main.js
import worker from '@ohos.worker';
const workerInstance = new worker.Worker("workers/worker.js")
workerInstance.postMessage("hello world")
```
```
// worker.js
import worker from '@ohos.worker';
const parentPort = worker.parentPort;
parentPort.onmessage = function(e) {
console.log("receive main.js message")
}
```
### onmessageerror
onmessageerror?: (event: MessageEvent) =&gt; void
Defines the event handler to be called when the worker receives a message that cannot be deserialized. The event handler is executed in the worker thread.
- Parameters
<a name="table21169494501"></a>
<table><thead align="left"><tr id="row1411794917507"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p2117134985012"><a name="p2117134985012"></a><a name="p2117134985012"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p161171949165016"><a name="p161171949165016"></a><a name="p161171949165016"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p5117104915501"><a name="p5117104915501"></a><a name="p5117104915501"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p111734915011"><a name="p111734915011"></a><a name="p111734915011"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row311784995013"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p1117249195020"><a name="p1117249195020"></a><a name="p1117249195020"></a>event</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p10117154917508"><a name="p10117154917508"></a><a name="p10117154917508"></a><a href="#section191271455124710">MessageEvent</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p711744911507"><a name="p711744911507"></a><a name="p711744911507"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p201188499500"><a name="p201188499500"></a><a name="p201188499500"></a>Error data.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
// main.js
import worker from '@ohos.worker';
const workerInstance = new worker.Worker("workers/worker.js")
```
```
// worker.js
import worker from "@ohos.worker";
const parentPort = worker.parentPort;
parentPort.onmessageerror= function(e) {
console.log("worker.js onmessageerror")
}
```
## PostMessageOptions<a name="section176401093245"></a>
Specifies the object whose ownership needs to be transferred during data transfer. The object must be **ArrayBuffer**.
<a name="table1564010972415"></a>
<table><thead align="left"><tr id="row3640129112415"><th class="cellrowborder" valign="top" width="15.870000000000001%" id="mcps1.1.6.1.1"><p id="p1364089142412"><a name="p1364089142412"></a><a name="p1364089142412"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="10.86%" id="mcps1.1.6.1.2"><p id="p564013912415"><a name="p564013912415"></a><a name="p564013912415"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.34%" id="mcps1.1.6.1.3"><p id="p1264016913243"><a name="p1264016913243"></a><a name="p1264016913243"></a>Readable</p>
</th>
<th class="cellrowborder" valign="top" width="11.51%" id="mcps1.1.6.1.4"><p id="p1164089172413"><a name="p1164089172413"></a><a name="p1164089172413"></a>Writable</p>
</th>
<th class="cellrowborder" valign="top" width="52.42%" id="mcps1.1.6.1.5"><p id="p7640169172410"><a name="p7640169172410"></a><a name="p7640169172410"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1064016982410"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p156410962416"><a name="p156410962416"></a><a name="p156410962416"></a>transfer</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p59311042152414"><a name="p59311042152414"></a><a name="p59311042152414"></a>Object[]</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p17641179102414"><a name="p17641179102414"></a><a name="p17641179102414"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p1864112919241"><a name="p1864112919241"></a><a name="p1864112919241"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p18641139162415"><a name="p18641139162415"></a><a name="p18641139162415"></a><strong id="b29193411847"><a name="b29193411847"></a><a name="b29193411847"></a>ArrayBuffer</strong> array used to transfer the ownership.</p>
</td>
</tr>
</tbody>
</table>
## Event<a name="section1674694018507"></a>
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| event | [MessageEvent](#messageevent) | No| Error data.|
**Example**
```
// main.js
import worker from '@ohos.worker';
const workerInstance = new worker.Worker("workers/worker.js")
```
```
// worker.js
import worker from '@ohos.worker';
const parentPort = worker.parentPort;
parentPort.onmessageerror= function(e) {
console.log("worker.js onmessageerror")
}
```
## PostMessageOptions
Specifies the object whose ownership needs to be transferred during data transfer. The object must be **ArrayBuffer**.
| Name| Type| Readable| Writable| Description|
| -------- | -------- | -------- | -------- | -------- |
| transfer | Object[] | Yes| Yes| **ArrayBuffer** array used to transfer the ownership.|
## Event
Defines the event.
<a name="table127461440175015"></a>
<table><thead align="left"><tr id="row10746640145010"><th class="cellrowborder" valign="top" width="15.870000000000001%" id="mcps1.1.6.1.1"><p id="p1174613403508"><a name="p1174613403508"></a><a name="p1174613403508"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="10.86%" id="mcps1.1.6.1.2"><p id="p1274614055018"><a name="p1274614055018"></a><a name="p1274614055018"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.34%" id="mcps1.1.6.1.3"><p id="p37460409501"><a name="p37460409501"></a><a name="p37460409501"></a>Readable</p>
</th>
<th class="cellrowborder" valign="top" width="11.51%" id="mcps1.1.6.1.4"><p id="p137461340145015"><a name="p137461340145015"></a><a name="p137461340145015"></a>Writable</p>
</th>
<th class="cellrowborder" valign="top" width="52.42%" id="mcps1.1.6.1.5"><p id="p874616406508"><a name="p874616406508"></a><a name="p874616406508"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row117475400509"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p1074754095015"><a name="p1074754095015"></a><a name="p1074754095015"></a>type</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p5747240135016"><a name="p5747240135016"></a><a name="p5747240135016"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p197471409508"><a name="p197471409508"></a><a name="p197471409508"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p1974719408501"><a name="p1974719408501"></a><a name="p1974719408501"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p974715404504"><a name="p974715404504"></a><a name="p974715404504"></a>Type of the event.</p>
</td>
</tr>
<tr id="row1360594017519"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p3605340165112"><a name="p3605340165112"></a><a name="p3605340165112"></a>timeStamp</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p260516404519"><a name="p260516404519"></a><a name="p260516404519"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p1360513406518"><a name="p1360513406518"></a><a name="p1360513406518"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p86051440205116"><a name="p86051440205116"></a><a name="p86051440205116"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p860554020511"><a name="p860554020511"></a><a name="p860554020511"></a>Timestamp (accurate to millisecond) when the event is created.</p>
</td>
</tr>
</tbody>
</table>
## EventListener<a name="section53411747134914"></a>
| Name| Type| Readable| Writable| Description|
| -------- | -------- | -------- | -------- | -------- |
| type | string | Yes| No| Type of the event.|
| timeStamp | number | Yes| No| Timestamp (accurate to millisecond) when the event is created.|
## EventListener
Implements event listening.
### \(evt: Event\): void | Promise<void\><a name="section1915072122913"></a>
### (evt: Event): void | Promise&lt;void&gt;
Specifies the callback to invoke.
- Parameters
<a name="table9785174213215"></a>
<table><thead align="left"><tr id="row3786042153218"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p8786154293216"><a name="p8786154293216"></a><a name="p8786154293216"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p127865425324"><a name="p127865425324"></a><a name="p127865425324"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p678610423329"><a name="p678610423329"></a><a name="p678610423329"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p87861442183219"><a name="p87861442183219"></a><a name="p87861442183219"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1478624283213"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p1078654213218"><a name="p1078654213218"></a><a name="p1078654213218"></a>evt</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p14893142103417"><a name="p14893142103417"></a><a name="p14893142103417"></a><a href="#section1674694018507">Event</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p14786194293211"><a name="p14786194293211"></a><a name="p14786194293211"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p1178674203218"><a name="p1178674203218"></a><a name="p1178674203218"></a>Event class for the callback to invoke.</p>
</td>
</tr>
</tbody>
</table>
- Return values
<a name="t3e93239d9b134b80957bcdd4acb05291"></a>
<table><thead align="left"><tr id="recc81d9f995d44aa87ba9d714b756569"><th class="cellrowborder" valign="top" width="21.84%" id="mcps1.1.3.1.1"><p id="aa3137ce511d140fba6cc93513a7a91e3"><a name="aa3137ce511d140fba6cc93513a7a91e3"></a><a name="aa3137ce511d140fba6cc93513a7a91e3"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="78.16%" id="mcps1.1.3.1.2"><p id="a4ba8ead9ee7b48298d9a6ed10659f13b"><a name="a4ba8ead9ee7b48298d9a6ed10659f13b"></a><a name="a4ba8ead9ee7b48298d9a6ed10659f13b"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="r64430cb15b54497f88ea6330b9a7454c"><td class="cellrowborder" valign="top" width="21.84%" headers="mcps1.1.3.1.1 "><p id="p132211316155619"><a name="p132211316155619"></a><a name="p132211316155619"></a>void | Promise&lt;void&gt;</p>
</td>
<td class="cellrowborder" valign="top" width="78.16%" headers="mcps1.1.3.1.2 "><p id="a1c9b8d1829ef489e9e0fd1863190d228"><a name="a1c9b8d1829ef489e9e0fd1863190d228"></a><a name="a1c9b8d1829ef489e9e0fd1863190d228"></a>Returns no value or returns a <strong id="b33281532185513"><a name="b33281532185513"></a><a name="b33281532185513"></a>Promise</strong>.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
const workerInstance = new worker.Worker("workers/worker.js");
workerInstance.addEventListener("alert", (e)=>{
console.log("alert listener callback");
})
```
## ErrorEvent<a name="section11241623172418"></a>
Provides detailed information about the exception occurred during worker execution. The **ErrorEvent** class inherits from [Event](#section1674694018507).
<a name="table1224152319247"></a>
<table><thead align="left"><tr id="row19241723192418"><th class="cellrowborder" valign="top" width="15.870000000000001%" id="mcps1.1.6.1.1"><p id="p10241192313249"><a name="p10241192313249"></a><a name="p10241192313249"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="10.86%" id="mcps1.1.6.1.2"><p id="p924292382417"><a name="p924292382417"></a><a name="p924292382417"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.34%" id="mcps1.1.6.1.3"><p id="p11242202318246"><a name="p11242202318246"></a><a name="p11242202318246"></a>Readable</p>
</th>
<th class="cellrowborder" valign="top" width="11.51%" id="mcps1.1.6.1.4"><p id="p1424272312240"><a name="p1424272312240"></a><a name="p1424272312240"></a>Writable</p>
</th>
<th class="cellrowborder" valign="top" width="52.42%" id="mcps1.1.6.1.5"><p id="p15242152362419"><a name="p15242152362419"></a><a name="p15242152362419"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row8242122316243"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p12428233244"><a name="p12428233244"></a><a name="p12428233244"></a>message</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p3242112322418"><a name="p3242112322418"></a><a name="p3242112322418"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p524262312244"><a name="p524262312244"></a><a name="p524262312244"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p13242102362418"><a name="p13242102362418"></a><a name="p13242102362418"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p92421123192418"><a name="p92421123192418"></a><a name="p92421123192418"></a>Information about the exception.</p>
</td>
</tr>
<tr id="row0242223192410"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p7242142392413"><a name="p7242142392413"></a><a name="p7242142392413"></a>filename</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p92421239248"><a name="p92421239248"></a><a name="p92421239248"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p424215236241"><a name="p424215236241"></a><a name="p424215236241"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p0242223172411"><a name="p0242223172411"></a><a name="p0242223172411"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p524262320241"><a name="p524262320241"></a><a name="p524262320241"></a>File where the exception is located.</p>
</td>
</tr>
<tr id="row434214463257"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p5342164692515"><a name="p5342164692515"></a><a name="p5342164692515"></a>lineno</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p13342164622515"><a name="p13342164622515"></a><a name="p13342164622515"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p13342194619258"><a name="p13342194619258"></a><a name="p13342194619258"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p1934244652517"><a name="p1934244652517"></a><a name="p1934244652517"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p23428465259"><a name="p23428465259"></a><a name="p23428465259"></a>Number of the line where the exception is located.</p>
</td>
</tr>
<tr id="row888217500256"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p78821850182511"><a name="p78821850182511"></a><a name="p78821850182511"></a>colno</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p16882155017251"><a name="p16882155017251"></a><a name="p16882155017251"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p188826506257"><a name="p188826506257"></a><a name="p188826506257"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p1088219502255"><a name="p1088219502255"></a><a name="p1088219502255"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p1288319505259"><a name="p1288319505259"></a><a name="p1288319505259"></a>Number of the column where the exception is located.</p>
</td>
</tr>
<tr id="row81624652614"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p7161746182619"><a name="p7161746182619"></a><a name="p7161746182619"></a>error</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p316846162613"><a name="p316846162613"></a><a name="p316846162613"></a>Object</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p61764614263"><a name="p61764614263"></a><a name="p61764614263"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p1817104615262"><a name="p1817104615262"></a><a name="p1817104615262"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p3175462267"><a name="p3175462267"></a><a name="p3175462267"></a>Type of the exception.</p>
</td>
</tr>
</tbody>
</table>
## MessageEvent<a name="section191271455124710"></a>
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| evt | [Event](#event) | Yes| Event class for the callback to invoke.|
**Return value**
| Type| Description|
| -------- | -------- |
| void&nbsp;\|&nbsp;Promise&lt;void&gt; | Returns no value or returns a **Promise**.|
**Example**
```
const workerInstance = new worker.Worker("workers/worker.js");
workerInstance.addEventListener("alert", (e)=>{
console.log("alert listener callback");
})
```
## ErrorEvent
Provides detailed information about the exception occurred during worker execution. The **ErrorEvent** class inherits from [Event](#event).
| Name| Type| Readable| Writable| Description|
| -------- | -------- | -------- | -------- | -------- |
| message | string | Yes| No| Information about the exception.|
| filename | string | Yes| No| File where the exception is located.|
| lineno | number | Yes| No| Number of the line where the exception is located.|
| colno | number | Yes| No| Number of the column where the exception is located.|
| error | Object | Yes| No| Type of the exception.|
## MessageEvent
Holds the data transferred between worker threads.
<a name="table10128155524711"></a>
<table><thead align="left"><tr id="row1412855554719"><th class="cellrowborder" valign="top" width="15.870000000000001%" id="mcps1.1.6.1.1"><p id="p61283559473"><a name="p61283559473"></a><a name="p61283559473"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="10.86%" id="mcps1.1.6.1.2"><p id="p61281155134713"><a name="p61281155134713"></a><a name="p61281155134713"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.34%" id="mcps1.1.6.1.3"><p id="p1312855520479"><a name="p1312855520479"></a><a name="p1312855520479"></a>Readable</p>
</th>
<th class="cellrowborder" valign="top" width="11.51%" id="mcps1.1.6.1.4"><p id="p612855514717"><a name="p612855514717"></a><a name="p612855514717"></a>Writable</p>
</th>
<th class="cellrowborder" valign="top" width="52.42%" id="mcps1.1.6.1.5"><p id="p17128755194716"><a name="p17128755194716"></a><a name="p17128755194716"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row11128105544715"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p141281755204713"><a name="p141281755204713"></a><a name="p141281755204713"></a>data</p>
</td>
<td class="cellrowborder" valign="top" width="10.86%" headers="mcps1.1.6.1.2 "><p id="p9128655144715"><a name="p9128655144715"></a><a name="p9128655144715"></a>T</p>
</td>
<td class="cellrowborder" valign="top" width="9.34%" headers="mcps1.1.6.1.3 "><p id="p91286553472"><a name="p91286553472"></a><a name="p91286553472"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="11.51%" headers="mcps1.1.6.1.4 "><p id="p111292558478"><a name="p111292558478"></a><a name="p111292558478"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p612905514479"><a name="p612905514479"></a><a name="p612905514479"></a>Data transferred between threads.</p>
</td>
</tr>
</tbody>
</table>
## WorkerGlobalScope<a name="section12882825611"></a>
Defines the running environment of the worker thread. The **WorkerGlobalScope** class inherits from [EventTarget](#section256019311465).
### Attributes<a name="section3626134611546"></a>
<a name="table5668145611542"></a>
<table><thead align="left"><tr id="row196681856175413"><th class="cellrowborder" valign="top" width="15.870000000000001%" id="mcps1.1.6.1.1"><p id="p466895614541"><a name="p466895614541"></a><a name="p466895614541"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="18.18%" id="mcps1.1.6.1.2"><p id="p466975610548"><a name="p466975610548"></a><a name="p466975610548"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.48%" id="mcps1.1.6.1.3"><p id="p176692565546"><a name="p176692565546"></a><a name="p176692565546"></a>Readable</p>
</th>
<th class="cellrowborder" valign="top" width="6.05%" id="mcps1.1.6.1.4"><p id="p5669185620548"><a name="p5669185620548"></a><a name="p5669185620548"></a>Writable</p>
</th>
<th class="cellrowborder" valign="top" width="52.42%" id="mcps1.1.6.1.5"><p id="p766916567549"><a name="p766916567549"></a><a name="p766916567549"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row15669185613547"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p16692567543"><a name="p16692567543"></a><a name="p16692567543"></a>name</p>
</td>
<td class="cellrowborder" valign="top" width="18.18%" headers="mcps1.1.6.1.2 "><p id="p12669256175418"><a name="p12669256175418"></a><a name="p12669256175418"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="7.48%" headers="mcps1.1.6.1.3 "><p id="p1266912564547"><a name="p1266912564547"></a><a name="p1266912564547"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="6.05%" headers="mcps1.1.6.1.4 "><p id="p166955618549"><a name="p166955618549"></a><a name="p166955618549"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p196697562549"><a name="p196697562549"></a><a name="p196697562549"></a>Worker name specified when there is a new worker.</p>
</td>
</tr>
<tr id="row1266905611549"><td class="cellrowborder" valign="top" width="15.870000000000001%" headers="mcps1.1.6.1.1 "><p id="p7669456155412"><a name="p7669456155412"></a><a name="p7669456155412"></a>self</p>
</td>
<td class="cellrowborder" valign="top" width="18.18%" headers="mcps1.1.6.1.2 "><p id="p36698567543"><a name="p36698567543"></a><a name="p36698567543"></a><a href="#section12882825611">WorkerGlobalScope</a> &amp; typeof globalThis</p>
</td>
<td class="cellrowborder" valign="top" width="7.48%" headers="mcps1.1.6.1.3 "><p id="p15669115675415"><a name="p15669115675415"></a><a name="p15669115675415"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="6.05%" headers="mcps1.1.6.1.4 "><p id="p106701356125415"><a name="p106701356125415"></a><a name="p106701356125415"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="52.42%" headers="mcps1.1.6.1.5 "><p id="p116701563546"><a name="p116701563546"></a><a name="p116701563546"></a>WorkerGlobalScope.</p>
</td>
</tr>
</tbody>
</table>
### onerror<a name="section1234812184551"></a>
onerror?: \(ev: ErrorEvent\) =\> void
| Name| Type| Readable| Writable| Description|
| -------- | -------- | -------- | -------- | -------- |
| data | T | Yes| No| Data transferred between threads.|
## WorkerGlobalScope
Defines the running environment of the worker thread. The **WorkerGlobalScope** class inherits from [EventTarget](#eventtarget).
### Attributes
| Name| Type| Readable| Writable| Description|
| -------- | -------- | -------- | -------- | -------- |
| name | string | Yes| No| Worker name specified when there is a new worker.|
| self | [WorkerGlobalScope](#workerglobalscope)&nbsp;&amp;&nbsp;typeof&nbsp;globalThis | Yes| No| WorkerGlobalScope.|
### onerror
onerror?: (ev: ErrorEvent) =&gt; void
Defines the event handler to be called when an exception occurs during worker execution. The event handler is executed in the worker thread.
- Parameters
<a name="table434981814553"></a>
<table><thead align="left"><tr id="row11349131825513"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p18349131825511"><a name="p18349131825511"></a><a name="p18349131825511"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="16.24%" id="mcps1.1.5.1.2"><p id="p93491186552"><a name="p93491186552"></a><a name="p93491186552"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.6499999999999995%" id="mcps1.1.5.1.3"><p id="p1034921855514"><a name="p1034921855514"></a><a name="p1034921855514"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p19349201812556"><a name="p19349201812556"></a><a name="p19349201812556"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row43491218115511"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p1935041812559"><a name="p1935041812559"></a><a name="p1935041812559"></a>ev</p>
</td>
<td class="cellrowborder" valign="top" width="16.24%" headers="mcps1.1.5.1.2 "><p id="p1135091805513"><a name="p1135091805513"></a><a name="p1135091805513"></a><a href="#section11241623172418">ErrorEvent</a></p>
</td>
<td class="cellrowborder" valign="top" width="7.6499999999999995%" headers="mcps1.1.5.1.3 "><p id="p535041814557"><a name="p535041814557"></a><a name="p535041814557"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p935017188559"><a name="p935017188559"></a><a name="p935017188559"></a>Error data.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
// main.js
import worker from '@ohos.worker';
const workerInstance = new worker.Worker("workers/worker.js")
```
```
// worker.js
import worker from "@ohos.worker";
const parentPort = worker.parentPort
parentPort.onerror = function(e){
console.log("worker.js onerror")
}
```
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| ev | [ErrorEvent](#errorevent) | No| Error data.|
**Example**
```
// main.js
import worker from '@ohos.worker';
const workerInstance = new worker.Worker("workers/worker.js")
```
```
// worker.js
import worker from '@ohos.worker';
const parentPort = worker.parentPort
parentPort.onerror = function(e){
console.log("worker.js onerror")
}
```
# XML Parsing and Generation<a name="EN-US_TOPIC_0000001166576450"></a>
# XML Parsing and Generation
>![](../../public_sys-resources/icon-note.gif) **NOTE:**
>The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
> The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.
## Modules to Import<a name="s56d19203690d4782bfc74069abb6bd71"></a>
## Modules to Import
```
import xml from '@ohos.xml';
```
## Required Permissions<a name="section11257113618419"></a>
## System Capabilities
None
SystemCapability.Utils.Lang
## XmlSerializer<a name="section10300157155214"></a>
## XmlSerializer
### constructor<a name="section22631719185510"></a>
constructor\(buffer: ArrayBuffer | DataView, encoding?: string\)
### constructor
A constructor used to create an **XmlSerializer** instance.
constructor(buffer: ArrayBuffer | DataView, encoding?: string)
- Parameters
A constructor used to create an **XmlSerializer** instance.
<a name="table371837193011"></a>
<table><thead align="left"><tr id="row672173723013"><th class="cellrowborder" valign="top" width="10.05%" id="mcps1.1.5.1.1"><p id="p1272203710304"><a name="p1272203710304"></a><a name="p1272203710304"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="20.8%" id="mcps1.1.5.1.2"><p id="p1172103715308"><a name="p1172103715308"></a><a name="p1172103715308"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="7.86%" id="mcps1.1.5.1.3"><p id="p2072537153017"><a name="p2072537153017"></a><a name="p2072537153017"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p1572193715303"><a name="p1572193715303"></a><a name="p1572193715303"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row673153793010"><td class="cellrowborder" valign="top" width="10.05%" headers="mcps1.1.5.1.1 "><p id="p197373763013"><a name="p197373763013"></a><a name="p197373763013"></a>buffer</p>
</td>
<td class="cellrowborder" valign="top" width="20.8%" headers="mcps1.1.5.1.2 "><p id="p1773337193020"><a name="p1773337193020"></a><a name="p1773337193020"></a>ArrayBuffer | DataView</p>
</td>
<td class="cellrowborder" valign="top" width="7.86%" headers="mcps1.1.5.1.3 "><p id="p27313376302"><a name="p27313376302"></a><a name="p27313376302"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p19731837133019"><a name="p19731837133019"></a><a name="p19731837133019"></a><strong id="b176576351735"><a name="b176576351735"></a><a name="b176576351735"></a>ArrayBuffer</strong> or <strong id="b14983539439"><a name="b14983539439"></a><a name="b14983539439"></a>DataView</strong> for storing the XML information to write.</p>
</td>
</tr>
<tr id="row873937133017"><td class="cellrowborder" valign="top" width="10.05%" headers="mcps1.1.5.1.1 "><p id="p573837113014"><a name="p573837113014"></a><a name="p573837113014"></a>encoding</p>
</td>
<td class="cellrowborder" valign="top" width="20.8%" headers="mcps1.1.5.1.2 "><p id="p1473837163016"><a name="p1473837163016"></a><a name="p1473837163016"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="7.86%" headers="mcps1.1.5.1.3 "><p id="p1574153711306"><a name="p1574153711306"></a><a name="p1574153711306"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p107416372308"><a name="p107416372308"></a><a name="p107416372308"></a>Encoding format.</p>
</td>
</tr>
</tbody>
</table>
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| buffer | ArrayBuffer&nbsp;\|&nbsp;DataView | Yes| **ArrayBuffer** or **DataView** for storing the XML information to write.|
| encoding | string | No| Encoding format.|
- Example
**Example**
```
var arrayBuffer = new ArrayBuffer(1024);
var bufView = new DataView(arrayBuffer);
var thatSer = new xml.XmlSerializer(bufView);
```
```
var arrayBuffer = new ArrayBuffer(1024);
var bufView = new DataView(arrayBuffer);
var thatSer = new xml.XmlSerializer(bufView);
```
### setAttributes<a name="section2473132013521"></a>
### setAttributes
setAttributes\(name: string, value: string\): void
setAttributes(name: string, value: string): void
Sets an attribute.
- Parameters
<a name="table89671419586"></a>
<table><thead align="left"><tr id="row1296813405817"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p9968649587"><a name="p9968649587"></a><a name="p9968649587"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p896816415583"><a name="p896816415583"></a><a name="p896816415583"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p19684475811"><a name="p19684475811"></a><a name="p19684475811"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p15969124195818"><a name="p15969124195818"></a><a name="p15969124195818"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1096919414582"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p19764172525816"><a name="p19764172525816"></a><a name="p19764172525816"></a>name</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p209702418584"><a name="p209702418584"></a><a name="p209702418584"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p20970240582"><a name="p20970240582"></a><a name="p20970240582"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p5218548142218"><a name="p5218548142218"></a><a name="p5218548142218"></a>Key of the attribute.</p>
</td>
</tr>
<tr id="row14970184165815"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p1996411319585"><a name="p1996411319585"></a><a name="p1996411319585"></a>value</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p7961171375814"><a name="p7961171375814"></a><a name="p7961171375814"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p1995771345820"><a name="p1995771345820"></a><a name="p1995771345820"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p19532013165816"><a name="p19532013165816"></a><a name="p19532013165816"></a>Value of the attribute.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var thatSer = new xml.XmlSerializer(bufView);
thatSer.setAttributes("importance", "high");
```
### addEmptyElement<a name="section66211195611"></a>
addEmptyElement\(name: string\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Key of the attribute.|
| value | string | Yes| Value of the attribute.|
**Example**
```
var thatSer = new xml.XmlSerializer(bufView);
thatSer.setAttributes("importance", "high");
```
Adds an empty element.
- Parameters
### addEmptyElement
addEmptyElement(name: string): void
Adds an empty element.
<a name="table14404194817135"></a>
<table><thead align="left"><tr id="row14051748131319"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p1440574821316"><a name="p1440574821316"></a><a name="p1440574821316"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p204051548111311"><a name="p204051548111311"></a><a name="p204051548111311"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p34056481132"><a name="p34056481132"></a><a name="p34056481132"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p5405548161318"><a name="p5405548161318"></a><a name="p5405548161318"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row14063484130"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p13406348101319"><a name="p13406348101319"></a><a name="p13406348101319"></a>name</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p340613481134"><a name="p340613481134"></a><a name="p340613481134"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p14062486135"><a name="p14062486135"></a><a name="p14062486135"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p2406248191315"><a name="p2406248191315"></a><a name="p2406248191315"></a>Name of the empty element to add.</p>
</td>
</tr>
</tbody>
</table>
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Name of the empty element to add.|
- Example
**Example**
```
var thatSer = new xml.XmlSerializer(bufView);
thatSer.addEmptyElement("b"); // => <b/>
```
```
var thatSer = new xml.XmlSerializer(bufView);
thatSer.addEmptyElement("b"); // => <b/>
```
### setDeclaration<a name="section86274211981"></a>
### setDeclaration
setDeclaration\(\): void
setDeclaration(): void
Sets a declaration.
- Example
**Example**
```
var thatSer = new xml.XmlSerializer(bufView);
thatSer.setDeclaration() // => <?xml version="1.0" encoding="utf-8"?>;
```
```
var thatSer = new xml.XmlSerializer(bufView);
thatSer.setDeclaration() // => <?xml version="1.0" encoding="utf-8"?>;
```
### startElement<a name="section7242102181610"></a>
### startElement
startElement\(name: string\): void
startElement(name: string): void
Writes the start tag based on the given element name.
- Parameters
<a name="table181414461248"></a>
<table><thead align="left"><tr id="row714104612417"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p8141546112417"><a name="p8141546112417"></a><a name="p8141546112417"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p14151546172412"><a name="p14151546172412"></a><a name="p14151546172412"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p1615114619244"><a name="p1615114619244"></a><a name="p1615114619244"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p121514469247"><a name="p121514469247"></a><a name="p121514469247"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1615204662414"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p415114614249"><a name="p415114614249"></a><a name="p415114614249"></a>name</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p6151246192420"><a name="p6151246192420"></a><a name="p6151246192420"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p71574612247"><a name="p71574612247"></a><a name="p71574612247"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p415946132417"><a name="p415946132417"></a><a name="p415946132417"></a>Name of the element.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.startElement("notel");
thatSer.endElement();// => '<notel/>';
```
### endElement<a name="section357918382815"></a>
endElement\(\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| name | string | Yes| Name of the element.|
**Example**
```
var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.startElement("notel");
thatSer.endElement();// => '<notel/>';
```
### endElement
endElement(): void
Writes the end tag of the element.
- Example
**Example**
```
var thatSer = new xml.XmlSerializer(bufView);
thatSer.setNamespace("h", "http://www.w3.org/TR/html4/");
thatSer.startElement("table");
thatSer.setAttributes("importance", "high");
thatSer.setText("Happy");
endElement(); // => <h:table importance="high" xmlns:h="http://www.w3.org/TR/html4/">Happy</h:table>
```
```
var thatSer = new xml.XmlSerializer(bufView);
thatSer.setNamespace("h", "http://www.w3.org/TR/html4/");
thatSer.startElement("table");
thatSer.setAttributes("importance", "high");
thatSer.setText("Happy");
endElement(); // => <h:table importance="high" xmlns:h="http://www.w3.org/TR/html4/">Happy</h:table>
```
### setNamespace<a name="section04112422818"></a>
### setNamespace
setNamespace\(prefix: string, namespace: string\): void
setNamespace(prefix: string, namespace: string): void
Sets the namespace for an element tag.
- Parameters
<a name="table8646118202914"></a>
<table><thead align="left"><tr id="row18646131812296"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p19646118172919"><a name="p19646118172919"></a><a name="p19646118172919"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p364731813291"><a name="p364731813291"></a><a name="p364731813291"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p06473184299"><a name="p06473184299"></a><a name="p06473184299"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p66471618172920"><a name="p66471618172920"></a><a name="p66471618172920"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1564701813298"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p7647101892919"><a name="p7647101892919"></a><a name="p7647101892919"></a>prefix</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p064761822918"><a name="p064761822918"></a><a name="p064761822918"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p36471718162912"><a name="p36471718162912"></a><a name="p36471718162912"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p1564731811292"><a name="p1564731811292"></a><a name="p1564731811292"></a>Prefix of the element and its child elements.</p>
</td>
</tr>
<tr id="row5285142452918"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p112861824192919"><a name="p112861824192919"></a><a name="p112861824192919"></a>namespace</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p1728692413299"><a name="p1728692413299"></a><a name="p1728692413299"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p14994496295"><a name="p14994496295"></a><a name="p14994496295"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p1428714245297"><a name="p1428714245297"></a><a name="p1428714245297"></a>Namespace to set.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.setDeclaration();
thatSer.setNamespace("h", "http://www.w3.org/TR/html4/");
thatSer.startElement("note");
thatSer.endElement();// = >'<?xml version="1.0" encoding="utf-8"?>\r\n<h:note xmlns:h="http://www.w3.org/TR/html4/"/>';
```
### setComment<a name="section1174418441186"></a>
setComment\(text: string\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| prefix | string | Yes| Prefix of the element and its child elements.|
| namespace | string | Yes| Namespace to set.|
**Example**
```
var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.setDeclaration();
thatSer.setNamespace("h", "http://www.w3.org/TR/html4/");
thatSer.startElement("note");
thatSer.endElement();// = >'<?xml version="1.0" encoding="utf-8"?>\r\n<h:note xmlns:h="http://www.w3.org/TR/html4/"/>';
```
### setComment
setComment(text: string): void
Sets the comment.
- Parameters
<a name="table59902223516"></a>
<table><thead align="left"><tr id="row1699117253518"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p09911122354"><a name="p09911122354"></a><a name="p09911122354"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p209911128359"><a name="p209911128359"></a><a name="p209911128359"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p1899119203517"><a name="p1899119203517"></a><a name="p1899119203517"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p19991725355"><a name="p19991725355"></a><a name="p19991725355"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row59921026357"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p2099232153520"><a name="p2099232153520"></a><a name="p2099232153520"></a>text</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p1992729353"><a name="p1992729353"></a><a name="p1992729353"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p9992182173517"><a name="p9992182173517"></a><a name="p9992182173517"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p1399210223514"><a name="p1399210223514"></a><a name="p1399210223514"></a>Comment to set.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.startElement("note");
thatSer.setComment("Hi!");
thatSer.endElement(); // => '<note>\r\n <!--Hi!-->\r\n</note>';
```
### setCDATA<a name="section812915481985"></a>
setCDATA\(text: string\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| text | string | Yes| Comment to set.|
**Example**
```
var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.startElement("note");
thatSer.setComment("Hi!");
thatSer.endElement(); // => '<note>\r\n <!--Hi!-->\r\n</note>';
```
### setCDATA
setCDATA(text: string): void
Sets CDATA attributes.
- Parameters
<a name="table374175311366"></a>
<table><thead align="left"><tr id="row475175323615"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p1775553183620"><a name="p1775553183620"></a><a name="p1775553183620"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p2075053103617"><a name="p2075053103617"></a><a name="p2075053103617"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p67565310368"><a name="p67565310368"></a><a name="p67565310368"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p1575153143612"><a name="p1575153143612"></a><a name="p1575153143612"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row17525323615"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p47575316364"><a name="p47575316364"></a><a name="p47575316364"></a>text</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p2076105323611"><a name="p2076105323611"></a><a name="p2076105323611"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p1776653183610"><a name="p1776653183610"></a><a name="p1776653183610"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p276135313620"><a name="p276135313620"></a><a name="p276135313620"></a>CDATA attribute to set.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var arrayBuffer = new ArrayBuffer(1028);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.setCDATA('root SYSTEM') // => '<![CDATA[root SYSTEM]]>';
```
### setText<a name="section265019491814"></a>
setText\(text: string\): void
Sets **Text**.
- Parameters
<a name="table136227583373"></a>
<table><thead align="left"><tr id="row1662355863713"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p86235584376"><a name="p86235584376"></a><a name="p86235584376"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p106231958103718"><a name="p106231958103718"></a><a name="p106231958103718"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p3624458193719"><a name="p3624458193719"></a><a name="p3624458193719"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p1762425863715"><a name="p1762425863715"></a><a name="p1762425863715"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row762405815376"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p062475843712"><a name="p062475843712"></a><a name="p062475843712"></a>text</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p1362412588379"><a name="p1362412588379"></a><a name="p1362412588379"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p1062435814373"><a name="p1062435814373"></a><a name="p1062435814373"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p17625105833713"><a name="p17625105833713"></a><a name="p17625105833713"></a>Content of the <strong id="b47250195582"><a name="b47250195582"></a><a name="b47250195582"></a>Text</strong> to set.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.startElement("note");
thatSer.setAttributes("importance", "high");
thatSer.setText("Happy1");
thatSer.endElement(); // => '<note importance="high">Happy1</note>';
```
### setDocType<a name="section104216510819"></a>
setDocType\(text: string\): void
Sets **DocType**.
- Parameters
<a name="table144314794016"></a>
<table><thead align="left"><tr id="row1443167184014"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p174437734018"><a name="p174437734018"></a><a name="p174437734018"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.719999999999999%" id="mcps1.1.5.1.2"><p id="p2443177184017"><a name="p2443177184017"></a><a name="p2443177184017"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.17%" id="mcps1.1.5.1.3"><p id="p1544467124019"><a name="p1544467124019"></a><a name="p1544467124019"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p1444117134017"><a name="p1444117134017"></a><a name="p1444117134017"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row2444975406"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p544497124013"><a name="p544497124013"></a><a name="p544497124013"></a>text</p>
</td>
<td class="cellrowborder" valign="top" width="14.719999999999999%" headers="mcps1.1.5.1.2 "><p id="p1644411764014"><a name="p1644411764014"></a><a name="p1644411764014"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.17%" headers="mcps1.1.5.1.3 "><p id="p12444117204011"><a name="p12444117204011"></a><a name="p12444117204011"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p1944520774014"><a name="p1944520774014"></a><a name="p1944520774014"></a>Content of <strong id="b18701135915"><a name="b18701135915"></a><a name="b18701135915"></a>DocType</strong> to set.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.setDocType('root SYSTEM'); // => '<!DOCTYPE root SYSTEM>';
```
## XmlPullParser<a name="section13701854986"></a>
### XmlPullParser<a name="section837014541082"></a>
constructor\(buffer: ArrayBuffer | DataView, encoding?: string\)
Creates and returns an **XmlPullParser** object. The **XmlPullParser** object passes two parameters. The first parameter is the memory of the **ArrayBuffer** or **DataView** type, and the second parameter is the file format \(UTF-8 by default\).
- Parameters
<a name="table288473334210"></a>
<table><thead align="left"><tr id="row388512334421"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p188523334214"><a name="p188523334214"></a><a name="p188523334214"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p108851333154211"><a name="p108851333154211"></a><a name="p108851333154211"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p78851433124211"><a name="p78851433124211"></a><a name="p78851433124211"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p7885183304220"><a name="p7885183304220"></a><a name="p7885183304220"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row388515334428"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p18856335429"><a name="p18856335429"></a><a name="p18856335429"></a>buffer</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p11886173344210"><a name="p11886173344210"></a><a name="p11886173344210"></a>ArrayBuffer | DataView</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p688613334215"><a name="p688613334215"></a><a name="p688613334215"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p1937471913416"><a name="p1937471913416"></a><a name="p1937471913416"></a><strong id="b245371713210"><a name="b245371713210"></a><a name="b245371713210"></a>ArrayBuffer</strong> or <strong id="b178682213217"><a name="b178682213217"></a><a name="b178682213217"></a>DataView</strong> that contains XML text information.</p>
</td>
</tr>
<tr id="row1991038194214"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p12101538134210"><a name="p12101538134210"></a><a name="p12101538134210"></a>encoding</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p1761135812426"><a name="p1761135812426"></a><a name="p1761135812426"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p154915214436"><a name="p154915214436"></a><a name="p154915214436"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p10101138164219"><a name="p10101138164219"></a><a name="p10101138164219"></a>Encoding format. Only UTF-8 is supported.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var strXml =
'<?xml version="1.0" encoding="utf-8"?>' +
'<note importance="high" logged="true">' +
' <title>Happy</title>' +
' <todo>Work</todo>' +
' <todo>Play</todo>' +
'</note>';
var arrayBuffer = new ArrayBuffer(strXml.length*2);
var bufView = new Uint8Array(arrayBuffer);
var strLen = strXml.length;
for (var i = 0; i < strLen; ++i) {
bufView[i] = strXml.charCodeAt(i);// Set the ArrayBuffer mode.
}
var that = new xml.XmlPullParser(arrayBuffer);
```
### parse<a name="section12316561182"></a>
parse\(option: ParseOptions\): void
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| text | string | Yes| CDATA attribute to set.|
**Example**
```
var arrayBuffer = new ArrayBuffer(1028);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.setCDATA('root SYSTEM') // => '<![CDATA[root SYSTEM]]>';
```
### setText
setText(text: string): void
Sets **Text**.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| text | string | Yes| Content of the **Text** to set.|
**Example**
```
var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.startElement("note");
thatSer.setAttributes("importance", "high");
thatSer.setText("Happy1");
thatSer.endElement(); // => '<note importance="high">Happy1</note>';
```
### setDocType
setDocType(text: string): void
Sets **DocType**.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| text | string | Yes| Content of **DocType** to set.|
**Example**
```
var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.setDocType('root SYSTEM'); // => '<!DOCTYPE root SYSTEM>';
```
## XmlPullParser
### XmlPullParser
constructor(buffer: ArrayBuffer | DataView, encoding?: string)
Creates and returns an **XmlPullParser** object. The **XmlPullParser** object passes two parameters. The first parameter is the memory of the **ArrayBuffer** or **DataView** type, and the second parameter is the file format (UTF-8 by default).
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| buffer | ArrayBuffer&nbsp;\|&nbsp;DataView | Yes| **ArrayBuffer** or **DataView** that contains XML text information.|
| encoding | string | No| Encoding format. Only UTF-8 is supported.|
**Example**
```
var strXml =
'<?xml version="1.0" encoding="utf-8"?>' +
'<note importance="high" logged="true">' +
' <title>Happy</title>' +
' <todo>Work</todo>' +
' <todo>Play</todo>' +
'</note>';
var arrayBuffer = new ArrayBuffer(strXml.length*2);
var bufView = new Uint8Array(arrayBuffer);
var strLen = strXml.length;
for (var i = 0; i < strLen; ++i) {
bufView[i] = strXml.charCodeAt(i);// Set the ArrayBuffer mode.
}
var that = new xml.XmlPullParser(arrayBuffer);
```
### parse
parse(option: ParseOptions): void
Parses XML information.
- Parameters
<a name="table12343577453"></a>
<table><thead align="left"><tr id="row03443744517"><th class="cellrowborder" valign="top" width="14.82%" id="mcps1.1.5.1.1"><p id="p434416704519"><a name="p434416704519"></a><a name="p434416704519"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="14.729999999999999%" id="mcps1.1.5.1.2"><p id="p634418734515"><a name="p634418734515"></a><a name="p634418734515"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="9.16%" id="mcps1.1.5.1.3"><p id="p43441777454"><a name="p43441777454"></a><a name="p43441777454"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="61.29%" id="mcps1.1.5.1.4"><p id="p20344571453"><a name="p20344571453"></a><a name="p20344571453"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row634412719455"><td class="cellrowborder" valign="top" width="14.82%" headers="mcps1.1.5.1.1 "><p id="p16344117154513"><a name="p16344117154513"></a><a name="p16344117154513"></a>option</p>
</td>
<td class="cellrowborder" valign="top" width="14.729999999999999%" headers="mcps1.1.5.1.2 "><p id="p834513718453"><a name="p834513718453"></a><a name="p834513718453"></a><a href="#section983614244916">ParseOptions</a></p>
</td>
<td class="cellrowborder" valign="top" width="9.16%" headers="mcps1.1.5.1.3 "><p id="p134518714457"><a name="p134518714457"></a><a name="p134518714457"></a>Yes</p>
</td>
<td class="cellrowborder" valign="top" width="61.29%" headers="mcps1.1.5.1.4 "><p id="p83458744511"><a name="p83458744511"></a><a name="p83458744511"></a>Options for controlling and obtaining the parsed information.</p>
</td>
</tr>
</tbody>
</table>
- Example
```
var strXml =
'<?xml version="1.0" encoding="utf-8"?>' +
'<note importance="high" logged="true">' +
' <title>Happy</title>' +
' <todo>Work</todo>' +
' <todo>Play</todo>' +
'</note>';
var arrayBuffer = new ArrayBuffer(strXml.length*2);
var bufView = new Uint8Array(arrayBuffer);
var strLen = strXml.length;
for (var i = 0; i < strLen; ++i) {
bufView[i] = strXml.charCodeAt(i);
}
var that = new xml.XmlPullParser(arrayBuffer);
var arrTag = {};
arrTag[0] = '132';
var i = 1;
function func(key, value){
arrTag[i] = 'key:'+key+' value:'+ value.getDepth();
i++;
return true;
}
var options = {supportDoctype:true, ignoreNameSpace:true, tokenValueCallbackFunction:func}
that.parse(options);
```
## ParseOptions<a name="section983614244916"></a>
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| option | [ParseOptions](#parseoptions) | Yes| Options for controlling and obtaining the parsed information.|
**Example**
```
var strXml =
'<?xml version="1.0" encoding="utf-8"?>' +
'<note importance="high" logged="true">' +
' <title>Happy</title>' +
' <todo>Work</todo>' +
' <todo>Play</todo>' +
'</note>';
var arrayBuffer = new ArrayBuffer(strXml.length*2);
var bufView = new Uint8Array(arrayBuffer);
var strLen = strXml.length;
for (var i = 0; i < strLen; ++i) {
bufView[i] = strXml.charCodeAt(i);
}
var that = new xml.XmlPullParser(arrayBuffer);
var arrTag = {};
arrTag[0] = '132';
var i = 1;
function func(key, value){
arrTag[i] = 'key:'+key+' value:'+ value.getDepth();
i++;
return true;
}
var options = {supportDoctype:true, ignoreNameSpace:true, tokenValueCallbackFunction:func}
that.parse(options);
```
## ParseOptions
Defines the XML parsing options.
<a name="table160910591211"></a>
<table><thead align="left"><tr id="row176096590111"><th class="cellrowborder" valign="top" width="21.990000000000002%" id="mcps1.1.5.1.1"><p id="p176091259315"><a name="p176091259315"></a><a name="p176091259315"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="36.309999999999995%" id="mcps1.1.5.1.2"><p id="p260914591118"><a name="p260914591118"></a><a name="p260914591118"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="5.52%" id="mcps1.1.5.1.3"><p id="p66092593113"><a name="p66092593113"></a><a name="p66092593113"></a>Mandatory</p>
</th>
<th class="cellrowborder" valign="top" width="36.18%" id="mcps1.1.5.1.4"><p id="p160910591312"><a name="p160910591312"></a><a name="p160910591312"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1860911593112"><td class="cellrowborder" valign="top" width="21.990000000000002%" headers="mcps1.1.5.1.1 "><p id="p46091159419"><a name="p46091159419"></a><a name="p46091159419"></a>supportDoctype</p>
</td>
<td class="cellrowborder" valign="top" width="36.309999999999995%" headers="mcps1.1.5.1.2 "><p id="p136094597118"><a name="p136094597118"></a><a name="p136094597118"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="5.52%" headers="mcps1.1.5.1.3 "><p id="p660918591814"><a name="p660918591814"></a><a name="p660918591814"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="36.18%" headers="mcps1.1.5.1.4 "><p id="p15609259215"><a name="p15609259215"></a><a name="p15609259215"></a>Whether to ignore <strong id="b1456884321714"><a name="b1456884321714"></a><a name="b1456884321714"></a>Doctype</strong>. The default value is <strong id="b1626514489171"><a name="b1626514489171"></a><a name="b1626514489171"></a>false</strong>.</p>
</td>
</tr>
<tr id="row7610175913118"><td class="cellrowborder" valign="top" width="21.990000000000002%" headers="mcps1.1.5.1.1 "><p id="p46108597120"><a name="p46108597120"></a><a name="p46108597120"></a>ignoreNameSpace</p>
</td>
<td class="cellrowborder" valign="top" width="36.309999999999995%" headers="mcps1.1.5.1.2 "><p id="p1661095916114"><a name="p1661095916114"></a><a name="p1661095916114"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="5.52%" headers="mcps1.1.5.1.3 "><p id="p13610559117"><a name="p13610559117"></a><a name="p13610559117"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="36.18%" headers="mcps1.1.5.1.4 "><p id="p1261012591114"><a name="p1261012591114"></a><a name="p1261012591114"></a>Whether to ignore <strong id="b649517181815"><a name="b649517181815"></a><a name="b649517181815"></a>Namespace</strong>. The default value is <strong id="b154747521819"><a name="b154747521819"></a><a name="b154747521819"></a>false</strong>.</p>
</td>
</tr>
<tr id="row16101595112"><td class="cellrowborder" valign="top" width="21.990000000000002%" headers="mcps1.1.5.1.1 "><p id="p561013591916"><a name="p561013591916"></a><a name="p561013591916"></a>tagValueCallbackFunction</p>
</td>
<td class="cellrowborder" valign="top" width="36.309999999999995%" headers="mcps1.1.5.1.2 "><p id="p1861035916118"><a name="p1861035916118"></a><a name="p1861035916118"></a>(name: string, value: string)=&gt; boolean</p>
</td>
<td class="cellrowborder" valign="top" width="5.52%" headers="mcps1.1.5.1.3 "><p id="p1961025917117"><a name="p1961025917117"></a><a name="p1961025917117"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="36.18%" headers="mcps1.1.5.1.4 "><p id="p1561095911110"><a name="p1561095911110"></a><a name="p1561095911110"></a>Callback used to return <strong id="b16819155133814"><a name="b16819155133814"></a><a name="b16819155133814"></a>tagValue</strong>.</p>
</td>
</tr>
<tr id="row14610859616"><td class="cellrowborder" valign="top" width="21.990000000000002%" headers="mcps1.1.5.1.1 "><p id="p76101359214"><a name="p76101359214"></a><a name="p76101359214"></a>attributeValueCallbackFunction</p>
</td>
<td class="cellrowborder" valign="top" width="36.309999999999995%" headers="mcps1.1.5.1.2 "><p id="p2061014591118"><a name="p2061014591118"></a><a name="p2061014591118"></a>(name: string, value: string)=&gt; boolean</p>
</td>
<td class="cellrowborder" valign="top" width="5.52%" headers="mcps1.1.5.1.3 "><p id="p1161012591018"><a name="p1161012591018"></a><a name="p1161012591018"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="36.18%" headers="mcps1.1.5.1.4 "><p id="p1361010593112"><a name="p1361010593112"></a><a name="p1361010593112"></a>Callback used to return <strong id="b126354223386"><a name="b126354223386"></a><a name="b126354223386"></a>attributeValue</strong>.</p>
</td>
</tr>
<tr id="row5610185911117"><td class="cellrowborder" valign="top" width="21.990000000000002%" headers="mcps1.1.5.1.1 "><p id="p56101359912"><a name="p56101359912"></a><a name="p56101359912"></a>tokenValueCallbackFunction</p>
</td>
<td class="cellrowborder" valign="top" width="36.309999999999995%" headers="mcps1.1.5.1.2 "><p id="p1761011596112"><a name="p1761011596112"></a><a name="p1761011596112"></a>(eventType: <a href="#section8364114132911">EventType</a>, value: <a href="#section436931815497">ParseInfo</a>)=&gt; boolean</p>
</td>
<td class="cellrowborder" valign="top" width="5.52%" headers="mcps1.1.5.1.3 "><p id="p46104591014"><a name="p46104591014"></a><a name="p46104591014"></a>No</p>
</td>
<td class="cellrowborder" valign="top" width="36.18%" headers="mcps1.1.5.1.4 "><p id="p156118592117"><a name="p156118592117"></a><a name="p156118592117"></a>Callback used to return <strong id="b1063617437387"><a name="b1063617437387"></a><a name="b1063617437387"></a>tokenValue</strong>.</p>
</td>
</tr>
</tbody>
</table>
## ParseInfo<a name="section436931815497"></a>
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| supportDoctype | boolean | No| Whether to ignore **Doctype**. The default value is **false**.|
| ignoreNameSpace | boolean | No| Whether to ignore **Namespace**. The default value is **false**.|
| tagValueCallbackFunction | (name:&nbsp;string,&nbsp;value:&nbsp;string)=&gt;&nbsp;boolean | No| Callback used to return **tagValue**.|
| attributeValueCallbackFunction | (name:&nbsp;string,&nbsp;value:&nbsp;string)=&gt;&nbsp;boolean | No| Callback used to return **attributeValue**.|
| tokenValueCallbackFunction | (eventType:&nbsp;[EventType](#eventtype),&nbsp;value:&nbsp;[ParseInfo](#parseinfo))=&gt;&nbsp;boolean | No| Callback used to return **tokenValue**.|
## ParseInfo
Provides methods to manage the parsed XML information.
### getColumnNumber<a name="section7268152661315"></a>
getColumnNumber\(\): number
### getColumnNumber
getColumnNumber(): number
Obtains the column line number, which starts from 1.
- Return values
**Return value**
<a name="table8583171852312"></a>
<table><thead align="left"><tr id="row1583118122320"><th class="cellrowborder" valign="top" width="29.880000000000003%" id="mcps1.1.3.1.1"><p id="p95841118182314"><a name="p95841118182314"></a><a name="p95841118182314"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="70.12%" id="mcps1.1.3.1.2"><p id="p12584111819235"><a name="p12584111819235"></a><a name="p12584111819235"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1058411189235"><td class="cellrowborder" valign="top" width="29.880000000000003%" headers="mcps1.1.3.1.1 "><p id="p165841118182318"><a name="p165841118182318"></a><a name="p165841118182318"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="70.12%" headers="mcps1.1.3.1.2 "><p id="p185841618162312"><a name="p185841618162312"></a><a name="p185841618162312"></a>Column number obtained.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| number | Column number obtained.|
### getDepth<a name="section15616143563517"></a>
### getDepth
getDepth\(\): number
getDepth(): number
Obtains the depth of this element.
- Return values
**Return value**
<a name="table15525115213712"></a>
<table><thead align="left"><tr id="row125251952133718"><th class="cellrowborder" valign="top" width="29.880000000000003%" id="mcps1.1.3.1.1"><p id="p752514520377"><a name="p752514520377"></a><a name="p752514520377"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="70.12%" id="mcps1.1.3.1.2"><p id="p145251552143713"><a name="p145251552143713"></a><a name="p145251552143713"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1152518527376"><td class="cellrowborder" valign="top" width="29.880000000000003%" headers="mcps1.1.3.1.1 "><p id="p15991162995116"><a name="p15991162995116"></a><a name="p15991162995116"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="70.12%" headers="mcps1.1.3.1.2 "><p id="p185251152153715"><a name="p185251152153715"></a><a name="p185251152153715"></a>Depth obtained.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| number | Depth obtained.|
### getLineNumber<a name="section8712911183819"></a>
### getLineNumber
getLineNumber\(\): number
getLineNumber(): number
Obtains the current line number, starting from 1.
- Return values
**Return value**
<a name="table485342915385"></a>
<table><thead align="left"><tr id="row885302983818"><th class="cellrowborder" valign="top" width="29.880000000000003%" id="mcps1.1.3.1.1"><p id="p1085313295388"><a name="p1085313295388"></a><a name="p1085313295388"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="70.12%" id="mcps1.1.3.1.2"><p id="p185319296386"><a name="p185319296386"></a><a name="p185319296386"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row4853102919386"><td class="cellrowborder" valign="top" width="29.880000000000003%" headers="mcps1.1.3.1.1 "><p id="p108541629123819"><a name="p108541629123819"></a><a name="p108541629123819"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="70.12%" headers="mcps1.1.3.1.2 "><p id="p12854229113810"><a name="p12854229113810"></a><a name="p12854229113810"></a>Line number obtained.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| number | Line number obtained.|
### getName<a name="section183355915386"></a>
### getName
getName\(\): string
getName(): string
Obtains the name of this element.
- Return values
**Return value**
<a name="table1083372573916"></a>
<table><thead align="left"><tr id="row68331025193910"><th class="cellrowborder" valign="top" width="29.880000000000003%" id="mcps1.1.3.1.1"><p id="p2833225153912"><a name="p2833225153912"></a><a name="p2833225153912"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="70.12%" id="mcps1.1.3.1.2"><p id="p183362519395"><a name="p183362519395"></a><a name="p183362519395"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row2833172523915"><td class="cellrowborder" valign="top" width="29.880000000000003%" headers="mcps1.1.3.1.1 "><p id="p2834132533918"><a name="p2834132533918"></a><a name="p2834132533918"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="70.12%" headers="mcps1.1.3.1.2 "><p id="p083452543915"><a name="p083452543915"></a><a name="p083452543915"></a>Element name obtained.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| string | Element name obtained.|
### getNamespace<a name="section5884344103915"></a>
### getNamespace
getNamespace\(\): string
getNamespace(): string
Obtains the namespace of this element.
- Return values
**Return value**
<a name="table555314417409"></a>
<table><thead align="left"><tr id="row145533420401"><th class="cellrowborder" valign="top" width="29.880000000000003%" id="mcps1.1.3.1.1"><p id="p15553046403"><a name="p15553046403"></a><a name="p15553046403"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="70.12%" id="mcps1.1.3.1.2"><p id="p1255314454015"><a name="p1255314454015"></a><a name="p1255314454015"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1555313424017"><td class="cellrowborder" valign="top" width="29.880000000000003%" headers="mcps1.1.3.1.1 "><p id="p175531042409"><a name="p175531042409"></a><a name="p175531042409"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="70.12%" headers="mcps1.1.3.1.2 "><p id="p2055414416400"><a name="p2055414416400"></a><a name="p2055414416400"></a>Namespace obtained.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| string | Namespace obtained.|
### getPrefix<a name="section6425182414016"></a>
### getPrefix
getPrefix\(\): string
getPrefix(): string
Obtains the prefix of this element.
- Return values
**Return value**
<a name="table953805664113"></a>
<table><thead align="left"><tr id="row115381356174119"><th class="cellrowborder" valign="top" width="29.880000000000003%" id="mcps1.1.3.1.1"><p id="p653885613412"><a name="p653885613412"></a><a name="p653885613412"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="70.12%" id="mcps1.1.3.1.2"><p id="p19538105624118"><a name="p19538105624118"></a><a name="p19538105624118"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row125385562414"><td class="cellrowborder" valign="top" width="29.880000000000003%" headers="mcps1.1.3.1.1 "><p id="p1538175654111"><a name="p1538175654111"></a><a name="p1538175654111"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="70.12%" headers="mcps1.1.3.1.2 "><p id="p1953965664113"><a name="p1953965664113"></a><a name="p1953965664113"></a>Element prefix obtained.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| string | Element prefix obtained.|
### getText<a name="section17411131414518"></a>
### getText
getText\(\): string
getText(): string
Obtains the text of the current event.
- Return values
**Return value**
<a name="table1970175444514"></a>
<table><thead align="left"><tr id="row99701054154517"><th class="cellrowborder" valign="top" width="29.880000000000003%" id="mcps1.1.3.1.1"><p id="p697075417456"><a name="p697075417456"></a><a name="p697075417456"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="70.12%" id="mcps1.1.3.1.2"><p id="p497017543454"><a name="p497017543454"></a><a name="p497017543454"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row097010542454"><td class="cellrowborder" valign="top" width="29.880000000000003%" headers="mcps1.1.3.1.1 "><p id="p18970454174511"><a name="p18970454174511"></a><a name="p18970454174511"></a>string</p>
</td>
<td class="cellrowborder" valign="top" width="70.12%" headers="mcps1.1.3.1.2 "><p id="p6970954184516"><a name="p6970954184516"></a><a name="p6970954184516"></a>Text content obtained.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| string | Text content obtained.|
### isEmptyElementTag<a name="section1817544617"></a>
### isEmptyElementTag
isEmptyElementTag\(\): boolean
isEmptyElementTag(): boolean
Checks whether the current element is empty.
- Return values
**Return value**
<a name="table19505839154618"></a>
<table><thead align="left"><tr id="row3505143984617"><th class="cellrowborder" valign="top" width="29.880000000000003%" id="mcps1.1.3.1.1"><p id="p15505163954616"><a name="p15505163954616"></a><a name="p15505163954616"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="70.12%" id="mcps1.1.3.1.2"><p id="p8505113934610"><a name="p8505113934610"></a><a name="p8505113934610"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row1505139144620"><td class="cellrowborder" valign="top" width="29.880000000000003%" headers="mcps1.1.3.1.1 "><p id="p1350583916465"><a name="p1350583916465"></a><a name="p1350583916465"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="70.12%" headers="mcps1.1.3.1.2 "><p id="p11506139134613"><a name="p11506139134613"></a><a name="p11506139134613"></a>Returns <strong id="b695884461016"><a name="b695884461016"></a><a name="b695884461016"></a>true</strong> if the element is empty; returns <strong id="b1774315414113"><a name="b1774315414113"></a><a name="b1774315414113"></a>false</strong> otherwise.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| boolean | Returns **true** if the element is empty; returns **false** otherwise.|
### isWhitespace<a name="section91661610476"></a>
### isWhitespace
isWhitespace\(\): boolean
isWhitespace(): boolean
Checks whether the current text event contains only whitespace characters.
- Return values
**Return value**
<a name="table6645101004814"></a>
<table><thead align="left"><tr id="row7645101014811"><th class="cellrowborder" valign="top" width="29.880000000000003%" id="mcps1.1.3.1.1"><p id="p8645510154813"><a name="p8645510154813"></a><a name="p8645510154813"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="70.12%" id="mcps1.1.3.1.2"><p id="p146451510184813"><a name="p146451510184813"></a><a name="p146451510184813"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row6645131019485"><td class="cellrowborder" valign="top" width="29.880000000000003%" headers="mcps1.1.3.1.1 "><p id="p11645161016486"><a name="p11645161016486"></a><a name="p11645161016486"></a>boolean</p>
</td>
<td class="cellrowborder" valign="top" width="70.12%" headers="mcps1.1.3.1.2 "><p id="p20645910194820"><a name="p20645910194820"></a><a name="p20645910194820"></a>Returns <strong id="b2851155413019"><a name="b2851155413019"></a><a name="b2851155413019"></a>true</strong> if the text event contains only whitespace characters; returns <strong id="b16337271114"><a name="b16337271114"></a><a name="b16337271114"></a>false</strong> otherwise.</p>
</td>
</tr>
</tbody>
</table>
| Type| Description|
| -------- | -------- |
| boolean | Returns **true** if the text event contains only whitespace characters; returns **false** otherwise.|
### getAttributeCount<a name="section736553519482"></a>
### getAttributeCount
getAttributeCount\(\): number
getAttributeCount(): number
Obtains the number of attributes for the current start tag.
- Return values
**Return value**
| Type| Description|
| -------- | -------- |
| number | Number of attributes obtained.|
<a name="table18597165219484"></a>
<table><thead align="left"><tr id="row859713527484"><th class="cellrowborder" valign="top" width="29.880000000000003%" id="mcps1.1.3.1.1"><p id="p14597125254813"><a name="p14597125254813"></a><a name="p14597125254813"></a>Type</p>
</th>
<th class="cellrowborder" valign="top" width="70.12%" id="mcps1.1.3.1.2"><p id="p1459711528485"><a name="p1459711528485"></a><a name="p1459711528485"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row2597135214813"><td class="cellrowborder" valign="top" width="29.880000000000003%" headers="mcps1.1.3.1.1 "><p id="p1059785244818"><a name="p1059785244818"></a><a name="p1059785244818"></a>number</p>
</td>
<td class="cellrowborder" valign="top" width="70.12%" headers="mcps1.1.3.1.2 "><p id="p45983522483"><a name="p45983522483"></a><a name="p45983522483"></a>Number of attributes obtained.</p>
</td>
</tr>
</tbody>
</table>
## EventType<a name="section8364114132911"></a>
## EventType
Enumerates the events.
<a name="table71051154194714"></a>
<table><thead align="left"><tr id="row9105105494718"><th class="cellrowborder" valign="top" width="27.47%" id="mcps1.1.4.1.1"><p id="p510575413474"><a name="p510575413474"></a><a name="p510575413474"></a>Name</p>
</th>
<th class="cellrowborder" valign="top" width="13.719999999999999%" id="mcps1.1.4.1.2"><p id="p151052542470"><a name="p151052542470"></a><a name="p151052542470"></a>Value</p>
</th>
<th class="cellrowborder" valign="top" width="58.809999999999995%" id="mcps1.1.4.1.3"><p id="p161061541473"><a name="p161061541473"></a><a name="p161061541473"></a>Description</p>
</th>
</tr>
</thead>
<tbody><tr id="row13106254164718"><td class="cellrowborder" valign="top" width="27.47%" headers="mcps1.1.4.1.1 "><p id="p717845685110"><a name="p717845685110"></a><a name="p717845685110"></a>START_DOCUMENT</p>
</td>
<td class="cellrowborder" valign="top" width="13.719999999999999%" headers="mcps1.1.4.1.2 "><p id="p914153211523"><a name="p914153211523"></a><a name="p914153211523"></a>0</p>
</td>
<td class="cellrowborder" valign="top" width="58.809999999999995%" headers="mcps1.1.4.1.3 "><p id="p810715420474"><a name="p810715420474"></a><a name="p810715420474"></a>Indicates a start document event.</p>
</td>
</tr>
<tr id="row610785417479"><td class="cellrowborder" valign="top" width="27.47%" headers="mcps1.1.4.1.1 "><p id="p117818566513"><a name="p117818566513"></a><a name="p117818566513"></a>END_DOCUMENT</p>
</td>
<td class="cellrowborder" valign="top" width="13.719999999999999%" headers="mcps1.1.4.1.2 "><p id="p15141143210523"><a name="p15141143210523"></a><a name="p15141143210523"></a>1</p>
</td>
<td class="cellrowborder" valign="top" width="58.809999999999995%" headers="mcps1.1.4.1.3 "><p id="p820172175515"><a name="p820172175515"></a><a name="p820172175515"></a>Indicates an end document event.</p>
</td>
</tr>
<tr id="row12107145411474"><td class="cellrowborder" valign="top" width="27.47%" headers="mcps1.1.4.1.1 "><p id="p13178165612512"><a name="p13178165612512"></a><a name="p13178165612512"></a>START_TAG</p>
</td>
<td class="cellrowborder" valign="top" width="13.719999999999999%" headers="mcps1.1.4.1.2 "><p id="p414133213520"><a name="p414133213520"></a><a name="p414133213520"></a>2</p>
</td>
<td class="cellrowborder" valign="top" width="58.809999999999995%" headers="mcps1.1.4.1.3 "><p id="p27463438553"><a name="p27463438553"></a><a name="p27463438553"></a>Indicates a start tag event.</p>
</td>
</tr>
<tr id="row1110719544472"><td class="cellrowborder" valign="top" width="27.47%" headers="mcps1.1.4.1.1 "><p id="p917885619516"><a name="p917885619516"></a><a name="p917885619516"></a>END_TAG</p>
</td>
<td class="cellrowborder" valign="top" width="13.719999999999999%" headers="mcps1.1.4.1.2 "><p id="p7141113215529"><a name="p7141113215529"></a><a name="p7141113215529"></a>3</p>
</td>
<td class="cellrowborder" valign="top" width="58.809999999999995%" headers="mcps1.1.4.1.3 "><p id="p1279231415617"><a name="p1279231415617"></a><a name="p1279231415617"></a>Indicates an end tag event.</p>
</td>
</tr>
<tr id="row11081454164717"><td class="cellrowborder" valign="top" width="27.47%" headers="mcps1.1.4.1.1 "><p id="p12178185612518"><a name="p12178185612518"></a><a name="p12178185612518"></a>TEXT</p>
</td>
<td class="cellrowborder" valign="top" width="13.719999999999999%" headers="mcps1.1.4.1.2 "><p id="p1614116324529"><a name="p1614116324529"></a><a name="p1614116324529"></a>4</p>
</td>
<td class="cellrowborder" valign="top" width="58.809999999999995%" headers="mcps1.1.4.1.3 "><p id="p135559523569"><a name="p135559523569"></a><a name="p135559523569"></a>Indicates a text event.</p>
</td>
</tr>
<tr id="row710825415478"><td class="cellrowborder" valign="top" width="27.47%" headers="mcps1.1.4.1.1 "><p id="p11781056175115"><a name="p11781056175115"></a><a name="p11781056175115"></a>CDSECT</p>
</td>
<td class="cellrowborder" valign="top" width="13.719999999999999%" headers="mcps1.1.4.1.2 "><p id="p1141113225212"><a name="p1141113225212"></a><a name="p1141113225212"></a>5</p>
</td>
<td class="cellrowborder" valign="top" width="58.809999999999995%" headers="mcps1.1.4.1.3 "><p id="p28815319573"><a name="p28815319573"></a><a name="p28815319573"></a>Indicates a CDATA section event.</p>
</td>
</tr>
<tr id="row16108115414713"><td class="cellrowborder" valign="top" width="27.47%" headers="mcps1.1.4.1.1 "><p id="p4178135613518"><a name="p4178135613518"></a><a name="p4178135613518"></a>COMMENT</p>
</td>
<td class="cellrowborder" valign="top" width="13.719999999999999%" headers="mcps1.1.4.1.2 "><p id="p9141832145218"><a name="p9141832145218"></a><a name="p9141832145218"></a>6</p>
</td>
<td class="cellrowborder" valign="top" width="58.809999999999995%" headers="mcps1.1.4.1.3 "><p id="p11109135404716"><a name="p11109135404716"></a><a name="p11109135404716"></a>Indicates an XML comment event.</p>
</td>
</tr>
<tr id="row1710914548477"><td class="cellrowborder" valign="top" width="27.47%" headers="mcps1.1.4.1.1 "><p id="p61796563515"><a name="p61796563515"></a><a name="p61796563515"></a>DOCDECL</p>
</td>
<td class="cellrowborder" valign="top" width="13.719999999999999%" headers="mcps1.1.4.1.2 "><p id="p8141163235220"><a name="p8141163235220"></a><a name="p8141163235220"></a>7</p>
</td>
<td class="cellrowborder" valign="top" width="58.809999999999995%" headers="mcps1.1.4.1.3 "><p id="p5109115444715"><a name="p5109115444715"></a><a name="p5109115444715"></a>Indicates an XML document type declaration event.</p>
</td>
</tr>
<tr id="row1710965434712"><td class="cellrowborder" valign="top" width="27.47%" headers="mcps1.1.4.1.1 "><p id="p171791056135119"><a name="p171791056135119"></a><a name="p171791056135119"></a>INSTRUCTION</p>
</td>
<td class="cellrowborder" valign="top" width="13.719999999999999%" headers="mcps1.1.4.1.2 "><p id="p141428328524"><a name="p141428328524"></a><a name="p141428328524"></a>8</p>
</td>
<td class="cellrowborder" valign="top" width="58.809999999999995%" headers="mcps1.1.4.1.3 "><p id="p1685554515718"><a name="p1685554515718"></a><a name="p1685554515718"></a>Indicates an XML processing instruction event.</p>
</td>
</tr>
<tr id="row1511012545475"><td class="cellrowborder" valign="top" width="27.47%" headers="mcps1.1.4.1.1 "><p id="p10179456165111"><a name="p10179456165111"></a><a name="p10179456165111"></a>ENTITY_REFERENCE</p>
</td>
<td class="cellrowborder" valign="top" width="13.719999999999999%" headers="mcps1.1.4.1.2 "><p id="p12142183265212"><a name="p12142183265212"></a><a name="p12142183265212"></a>9</p>
</td>
<td class="cellrowborder" valign="top" width="58.809999999999995%" headers="mcps1.1.4.1.3 "><p id="p91101054174716"><a name="p91101054174716"></a><a name="p91101054174716"></a>Indicates an entity reference event.</p>
</td>
</tr>
<tr id="row20989135175118"><td class="cellrowborder" valign="top" width="27.47%" headers="mcps1.1.4.1.1 "><p id="p1417955615511"><a name="p1417955615511"></a><a name="p1417955615511"></a>WHITESPACE</p>
</td>
<td class="cellrowborder" valign="top" width="13.719999999999999%" headers="mcps1.1.4.1.2 "><p id="p191421832195217"><a name="p191421832195217"></a><a name="p191421832195217"></a>10</p>
</td>
<td class="cellrowborder" valign="top" width="58.809999999999995%" headers="mcps1.1.4.1.3 "><p id="p19990155145115"><a name="p19990155145115"></a><a name="p19990155145115"></a>Indicates a whitespace character event.</p>
</td>
</tr>
</tbody>
</table>
| Name| Value| Description|
| -------- | -------- | -------- |
| START_DOCUMENT | 0 | Indicates a start document event.|
| END_DOCUMENT | 1 | Indicates an end document event.|
| START_TAG | 2 | Indicates a start tag event.|
| END_TAG | 3 | Indicates an end tag event.|
| TEXT | 4 | Indicates a text event.|
| CDSECT | 5 | Indicates a CDATA section event.|
| COMMENT | 6 | Indicates an XML comment event.|
| DOCDECL | 7 | Indicates an XML document type declaration event.|
| INSTRUCTION | 8 | Indicates an XML processing instruction event.|
| ENTITY_REFERENCE | 9 | Indicates an entity reference event.|
| WHITESPACE | 10 | Indicates a whitespace character event.|
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册