场景在我们设计任务卡/基础资料画面的时候, 有时会有一个需求 -
呼叫一个Service, 然后利用服务回传值来做一些事
例如 :
以下图来说, 希望藉由在[员工编号]栏位赋预设值规则, 呼叫异步服务来取得资料放到单身

规则设定画面

触发类型 : sync(同步) / async(异步, 为本篇重点)
触发条件 : 固定data
异步API : 固定/api/atdm/v1/data/query/by/action
domain : atdmUrl
需要异步校验 : 会与参数脚本中的canRequest属性相关, 如果[需要异步校验]有打勾, 只有在canRequest为true的时候, 才会真的执行
需要自由写脚本: 一般来说都会打勾, 因为你一定会需要写request还有呼叫完毕后的逻辑处理
异步赋值脚本 : 呼叫完后要做什么,以范例来说是要塞单身值

参数脚本 : 组成request , 写法蛮固定的

上图中的程式范例区块
console.log("defaultValue單身取資料resquest組成開始"); let canRequest = true; const params = { canRequest: canRequest, businessUnit: businessUnit, tmAction: { sequence: 0, type: 'ESP', actionId: 'esp_isv.pdemo.sample.personnel.report.get' }, paras: { } }; return params; |
里面的重点
第2行的canRequest, 请参考上面的[需要异步校验]说明
第9行, 要呼叫的action
第11行,paras属性里面是真的要呼叫那个服务的入参, 只是范例中的服务没有入参,所以是{}