Bỏ qua, đến nội dung

Cấu hình node - JavaScript

Node chạy code JavaScript tùy chỉnh trong môi trường sandbox an toàn, cho phép xử lý logic phức tạp không thể cấu hình bằng UI.

Bảng tham số cấu hình

Tham sốKiểuBắt buộcMặc địnhMô tả
codestringCode JavaScript cần thực thi
timeoutnumberKhông5000Thời gian tối đa chạy (ms)
scopeobjectKhông{}Biến từ workflow context inject vào scope của code

Dữ liệu đầu ra (Output)

TênKiểuMô tả
resultanyGiá trị return từ code (bất kỳ kiểu JSON-serializable)
errorobjectThông tin lỗi nếu code throw exception

API khả dụng trong sandbox

APICó sẵnGhi chú
Math, Date, JSONBuilt-in JavaScript
String, Array, ObjectPrototype methods
console.logGhi vào workflow log
async/awaitHỗ trợ bất đồng bộ
setTimeout, setIntervalKhôngDùng async/await thay thế
require, importKhôngSandbox restriction
fetch, XMLHttpRequestKhôngDùng HTTP Request node
fs, process, child_processKhôngOS access bị chặn

Khi nào dùng JavaScript node

Nhu cầuDùng node
Phép tính đơn giảnSimple Function
Công thức với scope mappingDynamic Calculation
Logic phức tạp, vòng lặp, string manipulationJavaScript
Query/filter JSONJSON Query

Lưu ý quan trọng

  • Sandbox không có require, fetch, fs - chỉ xử lý dữ liệu thuần
  • Code phải return giá trị cuối cùng - giá trị này trở thành result của node
  • Timeout mặc định 5 giây - tăng lên nếu xử lý dữ liệu lớn
  • Infinite loop sẽ bị kill khi timeout - cẩn thận với while loop
  • Kết quả phải serialize được (JSON) - không return function, Symbol, hoặc circular reference
  • Biến từ scope được inject trực tiếp: code truy cập variableName thay vì scope.variableName