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ả
codestringCó—Code 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, JSONCóBuilt-in JavaScript
String, Array, ObjectCóPrototype methods
console.logCóGhi vào workflow log
async/awaitCóHỗ 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