---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# 도우미 - UI 빌더

# 도우미 - UI 빌더 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 20분

도우미 API는 페이지 스크립트에서 공통적으로 사용되는 일반적인 기능을 제공하므로 모달 열기 및 닫기와 같은 간단한 기능에 대한 스크립트를 작성할 필요가 없습니다.  
이 API는 페이지 스크립트에만 사용할 수 있으며 다음을 포함한 다른 UI 빌더 스크립트에서는 사용할 수 없습니다.

* 구성요소 속성 값 스크립트
* 구성요소 가시성 스크립트
* 이벤트 페이로드 스크립트
* UX 클라이언트 스크립트 포함

## 도우미 - helpers.modal.close(문자열 modalId) {#ariaid-title2}

현재 페이지에서 지정된 모달을 닫습니다.
{#helpers-modal-close_S__table_o3x_fyy_n4b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| modalId | 문자열 | 종결할 모달의 모달 구성요소 ID입니다. 구성요소 ID는 구성요소를 스테이지에서 UI 빌더 끌어서 놓을 때 자동으로 생성됩니다. 속성 페이지에서 ID를 찾을 수 있습니다. |
[표 1. 매개변수]

{#helpers-modal-close_S__table_o3x_fyy_n4b} {#helpers-modal-close_S__table_p3x_fyy_n4b__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 2. 반환]

{#helpers-modal-close_S__table_p3x_fyy_n4b}  
이 예에서는 `경보 모달`로 끝나는 구성요소 ID가 있는 모달을 닫는 모습을 보여줍니다.

    function handler({api, event, imports, helpers}) {
      helpers.modal.close("[component-id$='alert_modal']")
    }

## 도우미 - helpers.modal.open(String modalId, 개체 옵션) {#ariaid-title3}

현재 페이지에서 지정된 모달을 엽니다.
페이지 내에서 한 번에 하나의 모달만 표시할 수 있습니다. 모달이 현재 열려 있고 이 메서드를 호출하면 기존 모달이 숨겨지고 새 모달이 나타납니다.
{#helpers-modal-open_S_O__table_mmh_5ky_n4b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| modalId | 문자열 | 열려는 모달의 구성요소 ID입니다. 구성요소 ID는 구성요소를 스테이지에서 UI 빌더 끌어서 놓을 때 자동으로 생성됩니다. 속성 페이지에서 ID를 찾을 수 있습니다. |
| 옵션 | 객체 | 옵션입니다. "options": { "content": "String", "contentFullWidth": Boolean, "headerLabel": "String", "size": "String" } |
| 옵션.컨텐츠 | 문자열 | 모달의 텍스트 콘텐츠입니다. |
| options.contentFullWidth | 부울 | 더 넓은 컨텐츠에 맞게 모달 본문 주변의 가로 패딩을 제거할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 패딩을 제거합니다. * 아니오: 패딩을 제거하지 마십시오. 기본값: false |
| options.headerLabel | 문자열 | 모달 헤더의 텍스트 내용입니다. |
| 옵션.크기 | 문자열 | 모달 컨테이너의 크기입니다. 대부분의 크기는 화면 크기가 작을 때 뷰포트를 채우도록 자동으로 확장됩니다. 유효한 값은 다음과 같습니다. * sm * md * lg * 전체 화면 기본값: sm |
[표 3. 매개변수]

{#helpers-modal-open_S_O__table_mmh_5ky_n4b} {#helpers-modal-open_S_O__table_nmh_5ky_n4b__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 4. 반환]

{#helpers-modal-open_S_O__table_nmh_5ky_n4b}  
이 예에서는 `alert-modal`로 끝나는 ca omponent ID가 있는 모달을 여는 모습을 보여줍니다.

    function handler({api, event, imports, helpers}) {
      helpers.modal.open("[component-id$='alert_modal']")
    }

## 도우미 - helpers.navigate.setRouteParams(개체 매개변수) {#ariaid-title4}

지정된 매개변수를 같은 페이지의 다른 구성요소에 전달합니다.
URL에 매개변수를 추가하려는 모든 페이지 구성요소에서 이 방법을 사용합니다. 다른 구성요소가 변경될 때 해당 매개변수의 현재 값을 알아야 반응할 수 있도록 URL에 매개변수를 추가할 수 있습니다. 예를 들어 이 메서드를 사용하여 탭 구성요소의 `selectedIndex` 를 전달하여 URL에 반영하여 해당 탭에 포커스를 부여합니다.
{#helpers-nav-setRteParms_O__table_jnx_kf1_p4b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 매개변수 | 객체 | 다른 구성요소에 전달할 선택적 매개변수의 키-값 쌍입니다. 원시 값만 있는 평범하고 평평한 객체여야 합니다. 배열 또는 객체 참조는 무시되고 URL에 추가되지 않습니다. 지정된 모든 키는 경로 구성에서 선택적 매개변수의 일부여야 하며, 그렇지 않으면 무시됩니다. 선택적 매개변수에 대한 자세한 내용은 [UI 빌더에서 페이지 생성](https://www.servicenow.com/docs/access?context=create-page&version=australia&pubname=australia-application-development&ft:locale=en-US)을 참조하십시오. |
[표 5. 매개변수]

{#helpers-nav-setRteParms_O__table_jnx_kf1_p4b} {#helpers-nav-setRteParms_O__table_knx_kf1_p4b__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 6. 반환]

{#helpers-nav-setRteParms_O__table_knx_kf1_p4b}  
이 코드 예제에서는 URL `params/selected-tab-index/2`를 추가하는 방법을 보여 줍니다. 실제 URL의 매개변수는 카멜 케이스에서 스네이크 케이스로 변경되므로 `selectedTabIndex` 는 `selected-tab-index`가 됩니다.

    function handler({api, event, helpers, imports}) {  
      helpers.navigate.setRouteParams({'params': {'selectedTabIndex':  2}});  
    } 

## 도우미 - helpers.navigate.to(문자열 경로, 객체 필드, 객체 매개변수, 부울 리디렉션, 부울 passiveNavigation, 문자열 targetRoute) {#ariaid-title5}

지정된 경로 및 필드 정보에 따라 한 화면에서 다른 화면으로 이동합니다. URL 변경 및 해당 화면 로드가 관찰됩니다.
{#helpers-nav-to_S_O_O_B_B_S__table_htg_jzy_n4b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 경로 | 문자열 | 경로의 이름입니다. UX 앱 경로(sys_ux_app_route.list)의 유효한 항목이어야 합니다. 이 값은 URL에 반영되며 URL은 `/<route>/<field1Value>/{<field2Value>/params/<optionalParamKey1>/<optionalParamValue1>/<optionalParamKey2>/<optionalParamValue2>` 열을 기반으로 route 생성됩니다. fieldsoptionalParams 예: `/record/incident/12345/params/selectedTabIndex/4` |
| 필드 | 객체 | 옵션입니다. 필수 매개변수의 키-값 쌍입니다. 예: `'fields' : {'table': 'incident', 'sysId': '12345'}`. |
| 매개변수 | 객체 | 옵션입니다. 선택적 매개변수의 키-값 쌍입니다. 예: `'params' : {'selectedTabIndex': 4}`. |
| redirect | 부울 | 브라우저 기록에서 최신 기록 항목을 제거할지 여부를 나타내는 플래그입니다. 예를 들어 사이트 A, B, C로 이동합니다. redirect C로 이동하는 동안 `true` 로 설정되면 B에 대한 이력 항목이 제거됩니다. 브라우저 기록에는 A와 C만 표시됩니다. 유효한 값은 다음과 같습니다. * true: 최신 이력 항목을 제거하고 최신 URL로 리디렉션합니다. * false: 이력 항목을 제거하지 않습니다. {#helpers-nav-to_S_O_O_B_B_S__ul_rl3_jc1_p4b} 기본값: false |
| passiveNavigation | 부울 | 백그라운드 탐색을 수행할지 여부를 나타내는 플래그입니다. 백그라운드 탐색은 페이지가 열려 있지만 활성화되지 않거나 표시되지 않는 경우입니다. 예를 들어 페이지의 비활성 탭을 열었지만 표시되지 않지만 백그라운드에서 로드됩니다. 유효한 값은 다음과 같습니다. * true: 백그라운드 탐색을 수행합니다. * false: 백그라운드 탐색을 수행하지 않습니다. {#helpers-nav-to_S_O_O_B_B_S__ul_ctk_sc1_p4b} 기본값: false |
| targetRoute | 문자열 또는 객체 | 드릴다운, 딥 링크 또는 하위 탭에 대한 하위 탐색입니다. `current`로 설정하면 현재 경로가 현재 URL에서 하위 탐색을 수행합니다. 예를 들어 `/record/incident/123` 이 현재 URL이고 다음 호출이 수행되는 경우: `helper.navigate.to('record', {'table': 'problem', 'sysId': '567'}, {}, false, false, 'current');` 다음 URL이 생성됩니다. `/record/incident/123/sub/record/problem/567` 주: targetRoute ' `current'` 와 같은 문자열 또는 `탐색 NAV_ITEM_SELECTED 페이로드`와 같은 객체일 수 있습니다. |
[표 7. 매개변수]

{#helpers-nav-to_S_O_O_B_B_S__table_htg_jzy_n4b} {#helpers-nav-to_S_O_O_B_B_S__table_itg_jzy_n4b__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 8. 반환]

{#helpers-nav-to_S_O_O_B_B_S__table_itg_jzy_n4b}  
이 예시에서는 매개변수만 route 전달하여 페이지로 이동하는 방법을 보여줍니다.

    function handler({api, event, imports, helpers}) {
      helpers.navigate.to('test');
    }

이 예시에서는 and fields 매개변수를 route 전달하여 페이지로 이동하는 방법을 보여줍니다.

    function handler({api, event, imports, helpers}) {
      helpers.navigate.to('test', {'key': 'value'});
    }

이 예시에서는 , 및 fieldsparams 매개변수를 route전달하여 페이지를 탐색하는 방법을 보여줍니다.

    function handler({api, event, helpers, imports}) {
      helpers.navigate.to('test', {'key': 'value'}, {'first': 'FirstName', 'last': 'Last Name'});
    }

## 도우미 - helpers.screen.updateStatus(Object statusObj) {#ariaid-title6}

페이지에서 제목, 아이콘, 더티 상태, 메시지 및 오류 변경과 같은 상태 업데이트를 보고할 수 있습니다.
상태 업데이트는 외부 레이어가 있는 WorkspaceChrome 또는 AppShell에 보고되고 호스트 역할을 합니다.
{#helpers-screen-updateStatus_O__table_hwx_j31_p4b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| statusObj | 객체 | 컨텐츠가 업데이트되었음을 보고하기 위해 현재 페이지로 보낼 페이로드입니다. 유효한 값은 다음과 같습니다. * dirtyModalId: (문자열) 변경된 모달의 ID입니다. * hasError: (부울) 페이지에 오류가 있음을 나타내는 플래그입니다. * hasUpdate: (부울) 페이지에 업데이트가 있음을 나타내는 플래그입니다. * icon: (문자열) 업데이트된 아이콘 또는 새 아이콘의 이름입니다. * isDirty: (부울) 페이지가 더티한지 여부를 나타내는 플래그입니다(값이 변경됨). * message: (문자열) 업데이트된/새 메시지입니다. * screenKey: (문자열) 변경이 발생한 화면의 ID입니다. 모든 화면에는 screenKey sn-canvas-screen 내의 화면 macroponent에 속성이 있습니다. * status: (문자열) 이 작업에 대한 상태 작업입니다. 이 값은 삽입됨, 삭제됨, 저장됨 또는 닫힘 중 하나여야 합니다. * title: (문자열) 업데이트된/새 표시 제목입니다. * tooltipPreview: (JSON) 업데이트되었거나 새 도구 설명입니다. 예: `tooltipPreview : { primaryTitle, secondaryContent: {} }` |
[표 9. 매개변수]

{#helpers-screen-updateStatus_O__table_hwx_j31_p4b} {#helpers-screen-updateStatus_O__table_iwx_j31_p4b__entry__2}

| 유형 | 설명 |
|-|-|
| 안 함 |   |
[표 10. 반환]

{#helpers-screen-updateStatus_O__table_iwx_j31_p4b}  
<br />

    screen.updateStatus({'dirtyModalId': 'customModalId', 'isDirty': true});

## 도우미 - helpers.snHttp(문자열 URL, 개체 옵션) {#ariaid-title7}

인스턴스에 HTTP ServiceNow 요청을 하고 결과와 함께 약속을 반환합니다.
주:  
이름이 지정된 options 개체가 HTTP 응답에서 생략되는 알려진 문제가 있습니다.

    {
      options: {},
      otherFields: {}
    }

    becomes

    {
      otherFields: {}
    }

{#helpers-snHttp_S_O__table_o4d_4rr_n4b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| URL | 문자열 | 인스턴스 URL을 기준으로 하는 HTTP 엔드포인트입니다. 예: `/api/now/table/incident` 또는 `/api/now/table/incident/a83820b58f723300e7e16c7827bdeed`. |
| 옵션 | 객체 | HTTP 요청의 내용을 설명합니다. "options": { "batch": Boolean, "body": {Object}, "headers": {Object}, "method": "String" } |
| 옵션.배치 | 부울 | 옵션입니다. 이 HTTP 요청을 인스턴스에 대한 다른 HTTP 요청과 함께 일괄 처리해야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 배치 요청의 일부로 요청합니다. * false: 전용 요청합니다. 기본값: true |
| 옵션.본문 | 객체 | 옵션입니다. 요청 본문으로 보낼 데이터입니다. `PUT`, `POST` 및 `PATCH` 요청 방법에만 적용할 수 있습니다. 객체의 요소는 HTTP 메서드의 유형에 따라 다릅니다. 자세한 내용은 아래 코드 예제를 참조하십시오. 기본값: `{}` |
| 옵션.헤더 | 객체 | 옵션입니다. 추가 HTTP 요청 헤더입니다. 예: headers: { "Content-Type": "application/json", "Accept": "application/xml" } |
| 옵션.방법 | 문자열 | 옵션입니다. HTTP 메서드입니다. 유효한 값은 다음과 같습니다. * 삭제 * GET * PATCH * POST * 넣기 기본값: GET |
[표 11. 매개변수]

{#helpers-snHttp_S_O__table_o4d_4rr_n4b} {#helpers-snHttp_S_O__table_p4d_4rr_n4b__entry__2}

| 유형 | 설명 |
|-|-|
| 오류 | REST API에서 반환되는 오류를 설명하는 객체입니다. 데이터 유형: 객체 "error": { "data": "String", "message": "String", "options": {Object}, "status": Number, "statusText": "String" } |
| 오류.데이터 | HTTP API에서 반환된 응답입니다. 데이터 유형: REST API에 의해 정의됨 |
| 오류.메시지 | HTTP 요청을 처리하려고 할 때 발생한 오류를 설명하는 메시지입니다. 주: 이 매개변수가 항상 반환되는 것은 아닙니다. 데이터 유형: 문자열 |
| error.options | 원래 HTTP 요청을 설명합니다. 데이터 유형: 객체 "options": { "headers": {Object}, "responseHeader": {Object} } |
| error.options.headers | 요청에서 전송된 모든 요청 헤더의 목록을 포함하는 객체입니다. 데이터 유형: 객체 |
| error.options.responseHeaders | 요청에서 전송된 모든 응답 헤더의 목록이 포함된 객체입니다. 데이터 유형: 객체 |
| 오류.상태 | 반환된 HTTP 오류 상태 코드(예: 400, 405 또는 500). 데이터 유형: 숫자 |
| error.statusText | 잘못된 요청과 같은 반환된 HTTP 상태 메시지. 데이터 유형: 문자열 |
| 응답 | HTTP 요청이 성공하면 반환됩니다. HTTP 요청에 대한 응답입니다. 데이터 유형: 모두 |
[표 12. 반환]

{#helpers-snHttp_S_O__table_p4d_4rr_n4b}  
다음 예제는 promise를 반환하는 snHttp() 를 호출하는 방법을 보여줍니다.

    function handler({api, event, helpers, imports}) {
      helpers.snHttp('/api/now/table/u_movie', {method: 'GET'})
        .then(({response}) => {
          // do something with the table data
        })
        .catch(({error}) => {
          const message = `Error: ${error.data.error.message}`;
          console.error(message);
          api.emit('NOW_UXF_PAGE#ADD_NOTIFICATIONS', {
            id: 'alert5',
            status: 'high',
            icon: 'info-circle-outline',
            content: message,
            action: { type: 'dismiss' }
        });
      });
    }

다음 예제는 <var class="keyword varname">async</var> 및 <var class="keyword varname">await</var>를 사용하여 snHttp()를 호출하는 방법을 보여줍니다.

    async function handler({helpers}) {
      try {
        const result = await helpers.snHttp('/api/now/table/u_movie', {method: 'GET'});
      } catch ({error}) {
          const message = `Error: ${error.data.error.message}`;
          console.error(message);
          api.emit('NOW_UXF_PAGE#ADD_NOTIFICATIONS', {
            id: 'alert5',
            status: 'high',
            icon: 'info-circle-outline',
            content: message,
            action: { type: 'dismiss' }
          });
      }
    }

다음 예시는 POST 요청을 설정하는 방법을 보여줍니다.

    function handler({api, helpers, event, imports}) {
      helpers
        .snHttp("/api/now/table/incident", {
          method: "POST",
          body: {
            description: "Sample description",
            close_notes: "Sample close notes",
            order: "-1"
          }
        })
        .then(({ response }) => {
          // handle POST request response
        })
        .catch(({ error }) => {
          // handle POST request errors
        });
    }

다음 예제는 PUT 요청을 설정하는 방법을 보여줍니다.

    function handler({api, helpers, event, imports}) {
      helpers
        .snHttp("/api/now/table/incident/a83820b58f723300e7e16c7827bdeed2", {
          method: "PUT",
          body: {
            activity_due: "1970-04-02 18:26:17"
          },
          headers: {
            "Content-Type": "application/json",
            "Accept": "application/xml"
          }
        })
        .then(({ response }) => {
          // handle PUT request response
        })
        .catch(({ error }) => {
          // handle PUT request errors
        });
    }

## 도우미 - helpers.timing.clearInterval(Number timeoutId) {#ariaid-title8}

이전 setInterval() 호출을 통해 예약된 기능의 실행을 취소합니다.
{#helpers-timing-clrInterval_N__table_sm4_kjx_n4b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| timeoutId | 번호 | 지울 예약된 기능의 고유 식별자입니다. 이 값은 해당 setInterval() 호출에 의해 반환됩니다. |
[표 13. 매개변수]

{#helpers-timing-clrInterval_N__table_sm4_kjx_n4b} {#helpers-timing-clrInterval_N__table_tm4_kjx_n4b__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 14. 반환]

{#helpers-timing-clrInterval_N__table_tm4_kjx_n4b}  
이 예제에서는 clearInterval() 을 사용하여setInterval() 메서드를 사용하여 이전에 설정된 타이밍 작업을 취소하는 것을 보여줍니다. 사용자가 페이지에서 자동 새로 고침 사용 안 함 버튼을 클릭하여 이 함수를 호출할 수 있습니다.

    function handler({api, helpers}) {
      api.setState('intervalId', ({currentValue}) => {
        if (currentValue > -1) {
          helpers.timing.clearInterval(currentValue);
        }
        return -1;
      });
    }

## 도우미 - helpers.timing.clearTimeout(Number timeoutId) {#ariaid-title9}

이전 setTimeout() 호출을 통해 예약된 기능의 실행을 취소합니다.
{#helpers-timing-clrTimeout_N__table_w1r_vhy_n4b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| timeoutId | 번호 | 지울 예약된 기능의 고유 식별자입니다. 이 값은 해당 setTimeout() 호출에 의해 반환됩니다. |
[표 15. 매개변수]

{#helpers-timing-clrTimeout_N__table_w1r_vhy_n4b} {#helpers-timing-clrTimeout_N__table_x1r_vhy_n4b__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 16. 반환]

{#helpers-timing-clrTimeout_N__table_x1r_vhy_n4b}  
이 코드 예제에서는 지정된 <var class="keyword varname">timeoutId</var>를 사용하여 타이머를 종료하는 방법을 보여 줍니다.

    function handler({api, helpers}) {
      api.setState('timeoutId', ({currentValue}) => {
        if (currentValue > -1) {
          helpers.timing.clearTimeout(currentValue);
        }
        return -1;
      });
    }

## 도우미 - helpers.timing.setInterval(Function fn, Number delay) {#ariaid-title10}

지정된 지연 값을 함수 호출 사이의 간격으로 사용하여 지정된 함수를 반복적으로 실행합니다.
네이티브 JavaScript setInterval() 메서드와 달리 이 메서드는 첫 번째 인수로 평가할 코드 문자열 전달을 지원하지 않습니다. 추가 인수는 함수 자체에 전달됩니다.
{#helpers-timing-setInterval_F_N__table_t4h_sdy_n4b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 에프엔 | 함수 | 반복적으로 실행하는 기능입니다. |
| 지연 | 번호 | 각 기능 실행 사이의 시간 간격 길이입니다. 단위: 밀리초 |
[표 17. 매개변수]

{#helpers-timing-setInterval_F_N__table_t4h_sdy_n4b} {#helpers-timing-setInterval_F_N__table_u4h_sdy_n4b__entry__2}

| 유형 | 설명 |
|-|-|
| 번호 | 기능 실행 작업의 고유 식별자입니다. 이 작업을 취소해야 하는 경우 메서드에서 [도우미 - helpers.timing.clearInterval(Number timeoutId)](https://servicenow-prod.fluidtopics.net/rIDVFXykmEF5KJhW_d1o3g#helpers-timing-clrInterval_N "이전 setInterval() 호출을 통해 예약된 기능의 실행을 취소합니다.") 이 값을 사용합니다. |
[표 18. 반환]

{#helpers-timing-setInterval_F_N__table_u4h_sdy_n4b}  
이 코드 예제에서는 페이지의 타임스탬프를 초당 새로 고치는 방법을 보여 줍니다. 사용자가 페이지에서 자동 새로 고침 사용 단추를 클릭하여 이 함수를 호출할 수 있습니다.

    function handler({api, helpers}) {
      // Every one second, refresh the value of current timestamp client state parameter
      const intervalId = helpers.timing.setInterval(() => {
        api.setState('currentTimestamp', new Date().toString())
      }, 1000);

      // The interval ID is kept in state to use when calling the helpers.timing.clearInterval() method at a later point
      api.setState('intervalId', intervalId);
    }

## 도우미 - helpers.timing.setTimeout(Function fn, Number delay) {#ariaid-title11}

지정된 지연 후 지정된 함수를 실행합니다.
네이티브 JavaScript setTimeout() 메서드와 달리 이 메서드는 첫 번째 인수로 평가할 코드 문자열 전달을 지원하지 않습니다. 추가 인수는 함수 자체에 전달됩니다.
{#helpers-timing-setTimeout_F_N__table_xrg_53y_n4b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 에프엔 | 함수 | 실행할 기능입니다. |
| 지연 | 번호 | 지정된 함수를 호출하기 전에 대기할 시간입니다. 단위: 밀리초 |
[표 19. 매개변수]

{#helpers-timing-setTimeout_F_N__table_xrg_53y_n4b} {#helpers-timing-setTimeout_F_N__table_yrg_53y_n4b__entry__2}

| 유형 | 설명 |
|-|-|
| 번호 | 기능 실행 작업의 고유 식별자입니다. 이 작업을 취소해야 하는 경우 메서드에서 [도우미 - helpers.timing.clearTimeout(Number timeoutId)](https://servicenow-prod.fluidtopics.net/rIDVFXykmEF5KJhW_d1o3g#helpers-timing-clrTimeout_N "이전 setTimeout() 호출을 통해 예약된 기능의 실행을 취소합니다.") 이 값을 사용합니다. |
[표 20. 반환]

{#helpers-timing-setTimeout_F_N__table_yrg_53y_n4b}  
이 코드 예제에서는 20분 타이머를 설정하는 방법을 보여 줍니다. 이 기능을 20분 후 미리 알림 버튼과 연결할 수 있습니다.

    function handler({api, helpers}) {
      const timeoutId = helpers.timing.setTimeout(() => {
        api.emit('NOW_UXF_PAGE#ADD_NOTIFICATIONS', {
          id: 'alert5',
          status: 'high',
          icon: 'info-circle-outline',
          content: 'Try to look away at something that is 20 feet away from you for a total of 20 minutes.',
          action: { type: 'dismiss' }
        });
      }, 20 * 60 * 1000);

      // The timeout ID is kept in state to use when calling the helpers.timing.clearTimeout() method at a later point
      api.setState('timeoutId', timeoutId);
    }

## 도우미 - helpers.translate(문자열 메시지, 문자열 토큰) {#ariaid-title12}

현재 사용자의 세션 언어에 따라 지정된 메시지를 비동기적으로 검색하고 번역합니다.
이 메서드를 사용하여 [api - setState(문자열, stateParam, 모든 값)](https://servicenow-prod.fluidtopics.net/2pciLkeVJu8fFaQbGjyHLA#api-setState_S_A "지정된 클라이언트 상태 매개변수의 값을 설정합니다.") 번역된 값을 페이지의 다른 필드에 바인딩할 수 있습니다.  
주:  
promise 또는 `async 및 await`를 사용하여 이 메서드를 호출할 수 `있습니다.` 아래 코드 예제에서는 두 구현을 모두 보여줍니다. {#helpers-translate_S_S__table_xjy_kxw_n4b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 메시지 | 문자열 | 번역할 메시지입니다. |
| 토큰 | 문자열 | 옵션입니다. 문자열 변수를 대체하는 데 사용할 매개변수의 쉼표로 구분된 목록입니다. 예: helpers.translate('Text {0} {1}', 'to', 'translate'); |
[표 21. 매개변수]

{#helpers-translate_S_S__table_xjy_kxw_n4b} {#helpers-translate_S_S__table_yjy_kxw_n4b__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 번역된 텍스트 문자열입니다. |
[표 22. 반환]

{#helpers-translate_S_S__table_yjy_kxw_n4b}  
다음 예제에서는 promise를 사용하여 문자열의 해당 변수에 포함하기 위해 테이블 필드 참조를 전달하는 방법을 보여줍니다.

    function handler ({api, helpers}) {
      helpers.translate('Welcome {0} {1}!', user.firstName, user.lastName)
        .then((translatedText) => {
          api.setState('greeting', translatedText);
        });
    }

다음 예제는 함수에서 promise 대신 `async` 및 `await` 를 사용하는 방법을 보여줍니다.

    async function handler ({api, helpers}) {
      const translatedText = await helpers.translate('Welcome to {0}', 'ServiceNow');
        api.setState('greeting', translatedText);
    }


