Hướng dẫn nodejs dynamic function call - lệnh gọi hàm động nodejs
Hello. Show 2 tuần trước tôi bắt đầu học nút. Tôi quyết định triển khai máy chủ của mình được xây dựng trên MVC như là khóa đào tạo. Tôi đã từng làm điều đó với PHP. Tôi không thể thực hiện một cuộc gọi chức năng, tên của chương trình được tính toán. Bộ định tuyến tập tin.jsrouter.js
Trong tệp, chương trình tính toán tên của bộ điều khiển và tên của hàm mà bộ định tuyến cần chạy. Trong các dòng bình luận, gọi chức năng này với Eval. Phương pháp này hoạt động, nhưng không phù hợp với tôi. Hiện tại khi nó hoạt động, một trong những bộ điều khiển sẽ được gọi. Bộ điều khiển MainControll.jsmaincontroller.js
Nếu cuộc gọi không năng động, tôi sẽ viết cuộc gọi đến bộ điều khiển như sau:
Tôi nên viết mã JS / Node nào để thay thế Eval bằng hàm Php Analogue Call_user_Func_Array? Trong 3 ngày, tôi đã thử 100 biến thể của các ứng dụng được áp dụng, gọi, chức năng mới. Có vẻ như kiến thức của tôi về JS quá yếu cho một nhiệm vụ như vậy. Nó hoạt động tốt Nội dung chính
Đầu ra Cho dù đây có phải là một ý kiến hay không ... tốt, đó là một cuộc thảo luận hoàn toàn khác. well, that's an entirely different discussion. well, that's an entirely different discussion. Chỉnh sửa - ≈18 tháng sau ... Vâng, đó là một ý tưởng khủng khiếp khi gọi một chức năng toàn cầu như thế. — ≈18 months later... Yeah, it's a horrible idea to call a global function like that. — ≈18 months later... Yeah, it's a horrible idea to call a global function like that. Nói rằng, đây là một cách bạn có thể tiếp cận vấn đề theo một cách tốt hơn nhiều. Dưới đây chúng tôi sẽ xây dựng một ít thay đổi (vòng lặp in-eval in). Để hiểu rõ hơn, tôi sẽ chia nó thành một vài phần. Đầu tiên, chúng tôi muốn đảm bảo rằng người dùng thay thế của chúng tôi sẽ nhấn ENTER trước khi chúng tôi thử chạy lệnh của họ. Để làm điều đó, chúng tôi sẽ tạo một luồng biến đổi chờ một ký tự 1 trước khi gửi 2 xuống đường ống
Đừng quá treo trên 3 nếu bạn mới xử lý luồng và nó không hoàn toàn có ý nghĩa. Loại biến đổi luồng này là vô cùng phổ biến. Ý tưởng chung là thế này: Một khi chúng ta đưa 4 vào luồng nhận, 4 sẽ phát ra dữ liệu mỗi khi người dùng nhấn phím. Tuy nhiên, 6 của chúng tôi (được triển khai bên dưới) không thể hành động trên lệnh cho đến khi người dùng gõ xong lệnh. 3 là phần chờ người dùng nhấn Enter (chèn 1 vào luồng) và sau đó báo hiệu cho 9 rằng lệnh đã sẵn sàng để được gửi đến 0 để xử lý!Hãy nhìn vào 6 bây giờ 7Vâng, điều đó thật dễ dàng! Nó làm gì tho? Mỗi lần 0 nhận được một dòng, nó phát ra một sự kiện với một số cuộc tranh luận. Đây là một cách trực quan để xem cách một lệnh được phân tích cú pháp 9Được rồi, bây giờ chúng ta hãy kết nối mọi thứ cùng nhau để thấy nó hoạt động 0Chạy nó 1Đầu ra
4Nếu bạn nghĩ điều đó thật tuyệt vời, chúng tôi thậm chí còn chưa hoàn thành. Lợi ích của việc viết chương trình của chúng tôi theo cách này là chúng tôi có thể hành động trên các lệnh bất kể họ đến chương trình của chúng tôi như thế nào. Xem xét tệp 5 này 6Bây giờ chạy nó như thế này 7Đầu ra 0Ok, đó là điều khá tuyệt vời. Bây giờ hãy xem xét rằng các lệnh có thể đến từ bất cứ đâu. Có thể là một sự kiện cơ sở dữ liệu, một cái gì đó trên mạng, một công việc cron, v.v. bởi vì mọi thứ được phân tách độc đáo, chúng tôi có thể dễ dàng điều chỉnh chương trình này để chấp nhận nhiều đầu vào một cách dễ dàng. Làm thế nào tôi có thể gọi một hàm được đặt tên là một chuỗi?Có hai phương thức để gọi một hàm từ chuỗi được lưu trữ trong một biến.Chế độ đầu tiên là bằng cách sử dụng phương thức đối tượng cửa sổ và phương thức thứ hai là bằng cách sử dụng phương thức eval ().Phương pháp eval () cũ hơn và nó không được dùng.using the window object method and the second one is by using eval() method. The eval() method is older and it is deprecated.using the window object method and the second one is by using eval() method. The eval() method is older and it is deprecated. Làm thế nào để bạn gọi một hàm trong nút js?Để gọi một hàm, bạn có thể chuyển tên và đối số của nó cho người dùng.pass its name and arguments to User.pass its name and arguments to User. Làm cách nào để gọi chức năng Node JS từ một tệp khác?Để bao gồm các chức năng được xác định trong một tệp khác trong nút.JS, chúng ta cần nhập mô -đun.Chúng tôi sẽ sử dụng từ khóa yêu cầu ở đầu tệp. Kết quả yêu cầu sau đó được lưu trữ trong một biến được sử dụng để gọi các chức năng bằng cách sử dụng ký hiệu dấu chấm.use the require keyword at the top of the file.The result of require is then stored in a variable which is used to invoke the functions using the dot notation.use the require keyword at the top of the file. The result of require is then stored in a variable which is used to invoke the functions using the dot notation. Hàm là gì ()) () trong javascript?Đó là một biểu thức chức năng được phát hành ngay lập tức hoặc viết tắt là iife.Nó thực hiện ngay sau khi nó được tạo ra.Nó không liên quan gì đến bất kỳ người làm việc sự kiện nào cho bất kỳ sự kiện nào (chẳng hạn như tài liệu. Onload).Hãy xem xét phần trong cặp dấu ngoặc đơn đầu tiên: (function () {}) ();.... nó là một biểu thức chức năng thường xuyên. |