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
expressionstringCó—Biể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