# requestFn에서 다른 블록 사용하기

**URL:** <https://ask.selectfromuser.com/t/requestfn/78>\
**Category:** 사용 팁\
**Tags:** javascript, requestfn\
**Created:** [9월 22, 2023, 9:10오전 UTC](https://ask.selectfromuser.com/t/requestfn/78 "2023-09-22T09:10:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![hbkim](https://yyz2.discourse-cdn.com/flex032/user_avatar/ask.selectfromuser.com/hbkim/32/23_2.png) [@hbkim](https://ask.selectfromuser.com/u/hbkim)\
**Post date:** [9월 22, 2023, 9:10오전 UTC](https://ask.selectfromuser.com/t/requestfn/78/1 "2023-09-22T09:10:03Z")

</div>

셀렉트에서는 requestFn이라는 키가 있습니다.

requestFn은 쿼리나 API 요청 시 JavaScript를 사용해 복잡한 실행을 도와주는 기능입니다.

아래는 query1의 파라미터를 query2에서 이용하고

submit button을 시작으로 query2와 query1을 이어서 실행시키는 예제입니다.

request 실행할 때 다른 블록의 쿼리를 가져오고 싶다면 해당 예제를 참고해보세요!

**\<예제\>**

```yaml
menus:
- path: pages/C7OzH6
  name: 여러개 블록 insert
pages:
- path: pages/C7OzH6
  blocks:
  - type: query
    resource: mysql.qa
    sqlType: insert
    id: query1
    sql: >
      INSERT INTO wine_stock
      SET name = :name
    params:
      - key: name
        value: 블랑드블랑
    requestSubmitFn: |
      query2.trigger()
    toast: 저장완료 (2/2)

  - type: query
    sqlType: update
    resource: redis-cloud
    commands: 
      - SET wine {{name}}
    id: query2
    params:
      - key: name
        hidden: true
    requestFn: |
      console.log('query2: ', params, 'query1: ', query1.params)
      const name = params.find(e => e.key == 'name')
      name.value = query1.params.name.value
    toast: 저장완료 (1/2)
    
  - type: query
    sqlType: select
    resource: redis-cloud
    commands: 
      - GET wine    

```
