Bỏ qua, đến nội dung

Cấu hình node - Dynamic Calculation

Node tính toán động sử dụng biểu thức (expression) hoặc công thức (formula) tại runtime, hỗ trợ nhiều evaluator engine.

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

Tham sốKiểuBắt buộcMặc địnhMô tả
enginestringKhôngbuilt-inEvaluator sử dụng: math.js, formula.js, hoặc built-in
expressionstringBiểu thức tính toán (VD: price * quantity * (1 - discount))
scopeobjectKhông{}Mapping tên biến trong biểu thức sang giá trị từ workflow context
outputTypestringKhôngnumberKiểu kết quả mong muốn: number, string, boolean

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

TênKiểuMô tả
resultanyKết quả tính toán (ép kiểu theo outputType)
typestringKiểu dữ liệu thực tế của kết quả

So sánh với các node tính toán khác

Đặc điểmSimple FunctionDynamic CalculationJavaScript
Độ phức tạpThấpTrung bìnhCao
UIBiểu thức đơn giảnBiểu thức + scope mappingCode editor
EngineBuilt-inmath.js, formula.js, built-inVM sandbox
Phù hợpPhép tính đơn giảnCông thức phức tạpLogic tùy ý

Hướng dẫn chọn engine

EngineMạnh vềVí dụ biểu thức
built-inPhép tính cơ bản, nhanhprice * qty
math.jsToán học phức tạp, hàm thống kêpow(1 + rate, n), sqrt(x)
formula.jsCông thức dạng spreadsheetIF(score >= 80, "A", "B")

Lưu ý quan trọng

  • Biến scope phải được khai báo đầy đủ - biến không tồn tại sẽ gây lỗi runtime
  • Kết quả chia cho 0 trả về Infinity hoặc NaN tùy engine - cần xử lý trong node sau
  • Biểu thức quá phức tạp có thể ảnh hưởng hiệu suất - cân nhắc dùng JavaScript node
  • Type casting có thể mất dữ liệu: number sang string OK, string sang number có thể NaN
  • Chọn engine phù hợp: math.js cho phép tính phức tạp, built-in cho biểu thức đơn giản