Nodejs tham gia chuỗi
Trong bài này chúng ta sẽ tìm hiểu hàm join trong javascript, đây là hàm dùng để nối các phần tử của mảng lại với nhau thành một chuỗi Show
Bài viết này đã được đăng tại freetuts. net , không được sao chép dưới mọi hình thức. Hàm tham gia sẽ nối các phần tử của mảng thành một chuỗi, các phần tử được ngăn cách nhau bởi ký tự do người dùng quy định. Nếu không truyền vào ngăn chặn tự động truyền thì giá trị mặc định là dấu phẩy "," Nếu bạn chỉ đơn thuần muốn chuyển mảng thành chuỗi và ngăn cách bởi dấu phẩy thì hãy sử dụng mảng hàm. toString() nhé 1. Cú pháp hàm join trong javascriptHàm tham gia có cú pháp như sau Bài viết này đã được đăng tại [free tuts. mạng lưới] array.join(separator) in which
Hàm này rất ít khi sử dụng, do thao tác chuyển đổi chuỗi thành chuỗi trong các ứng dụng thực tế rất mới Ví dụ. Đây là bản demo mình lấy từ trang chủ của mozilla var a = ['Wind', 'Water', 'Fire']; a.join(); // 'Wind,Water,Fire' a.join(', '); // 'Wind, Water, Fire' a.join(' + '); // 'Wind + Water + Fire' a.join(''); // 'WindWaterFire' 2. Một ví dụ khác về hàm nối trong javascriptHãy viết chương trình khi nhấp vào một nút, sau đó chuyển tất cả các phần tử của mảng chủ đề thành một chuỗi, sau đó vào màn hình Mã CHẠY
3. So sánh hàm nối với mảng. toStringCả hai hàm đều là các phương thức của mảng đối tượng, và công cụ chuyển đổi mảng thành chuỗi. Tuy nhiên, họ sẽ có một chút khác biệt như sau Mục đích của hướng dẫn này là truyền đạt sự hiểu biết vững chắc về quy trình của Node. xử lý HTTP js. Chúng tôi sẽ cho rằng bạn biết, theo nghĩa chung, cách thức hoạt động của các yêu cầu HTTP, bất kể ngôn ngữ hoặc môi trường lập trình. Chúng tôi cũng sẽ giả sử một chút quen thuộc với Node. js 7 và 8. Nếu bạn không hoàn toàn quen thuộc với chúng, bạn nên đọc nhanh tài liệu API cho từng tài liệu đóTạo máy chủBất kỳ ứng dụng máy chủ web nút nào cũng sẽ phải tạo một đối tượng máy chủ web. Điều này được thực hiện bằng cách sử dụng 9
Hàm được chuyển đến 9 được gọi một lần cho mọi yêu cầu HTTP được thực hiện đối với máy chủ đó, vì vậy, nó được gọi là trình xử lý yêu cầu. Trên thực tế, đối tượng 1 được trả về bởi 9 là một 3 và những gì chúng ta có ở đây chỉ là cách viết tắt để tạo một đối tượng 4 và sau đó thêm đối tượng nghe vào sau
Khi một yêu cầu HTTP đến máy chủ, nút gọi chức năng xử lý yêu cầu với một vài đối tượng tiện dụng để xử lý giao dịch, 5 và 6. Chúng tôi sẽ đến với những người trong thời gian ngắnĐể thực sự phục vụ các yêu cầu, phương thức 7 cần được gọi trên đối tượng 4. Trong hầu hết các trường hợp, tất cả những gì bạn cần chuyển đến 7 là số cổng mà bạn muốn máy chủ lắng nghe. Ngoài ra còn có một số tùy chọn khác, vì vậy hãy tham khảo tài liệu tham khảo APIPhương thức, URL và Tiêu đềKhi xử lý một yêu cầu, điều đầu tiên bạn có thể muốn làm là xem xét phương thức và URL để có thể thực hiện các hành động thích hợp. Nút. js làm cho điều này tương đối dễ dàng bằng cách đặt các thuộc tính tiện dụng vào đối tượng 5________số 8
13 ở đây sẽ luôn là một phương thức/động từ HTTP bình thường. 14 là URL đầy đủ không có máy chủ, giao thức hoặc cổng. Đối với một URL điển hình, điều này có nghĩa là mọi thứ sau và bao gồm dấu gạch chéo thứ ba về phía trước Tiêu đề cũng không xa. Họ đang ở trong đối tượng của riêng họ trên 5 được gọi là 16 1 Điều quan trọng cần lưu ý ở đây là tất cả các tiêu đề chỉ được thể hiện bằng chữ thường, bất kể khách hàng thực sự đã gửi chúng như thế nào. Điều này đơn giản hóa nhiệm vụ phân tích tiêu đề cho bất kỳ mục đích nào Nếu một số tiêu đề được lặp lại, thì các giá trị của chúng sẽ bị ghi đè hoặc nối với nhau dưới dạng các chuỗi được phân tách bằng dấu phẩy, tùy thuộc vào tiêu đề. Trong một số trường hợp, điều này có thể gây rắc rối, vì vậy cũng có sẵn 17 Nội dung yêu cầuKhi nhận được yêu cầu 18 hoặc 19, cơ quan yêu cầu có thể quan trọng đối với ứng dụng của bạn. Lấy dữ liệu cơ thể liên quan nhiều hơn một chút so với truy cập các tiêu đề yêu cầu. Đối tượng 5 được chuyển vào trình xử lý thực hiện giao diện 11. Luồng này có thể được nghe hoặc chuyển đến nơi khác giống như bất kỳ luồng nào khác. Chúng tôi có thể lấy dữ liệu ngay từ luồng bằng cách lắng nghe các sự kiện ________ 312 và ________ 313 của luồngĐoạn phát ra trong mỗi sự kiện 12 là một 15. Nếu bạn biết đó sẽ là dữ liệu chuỗi, điều tốt nhất nên làm là thu thập dữ liệu trong một mảng, sau đó tại 13, nối và xâu chuỗi nó 1
Đôi nét về lỗiVì đối tượng 5 là một 11, nên nó cũng là một 3 và hoạt động như một đối tượng khi xảy ra lỗiLỗi trong luồng 5 xuất hiện bằng cách phát ra sự kiện 54 trên luồng. Nếu bạn không có bộ lắng nghe cho sự kiện đó, lỗi sẽ được đưa ra, điều này có thể làm hỏng Nút của bạn. chương trình js. Do đó, bạn nên thêm trình nghe 54 vào các luồng yêu cầu của mình, ngay cả khi bạn chỉ đăng nhập và tiếp tục theo cách của mình. (Mặc dù có lẽ tốt nhất là gửi một số loại phản hồi lỗi HTTP. Thêm về điều đó sau. ) 5Có nhiều cách khác để xử lý các lỗi này, chẳng hạn như các công cụ và công cụ trừu tượng khác, nhưng hãy luôn lưu ý rằng các lỗi có thể xảy ra và bạn sẽ phải xử lý chúng. Những gì chúng ta đã có cho đến nayTại thời điểm này, chúng ta đã hoàn thành việc tạo một máy chủ và lấy phương thức, URL, tiêu đề và nội dung từ các yêu cầu. Khi chúng ta kết hợp tất cả lại với nhau, nó có thể trông giống như thế này 8Nếu chúng tôi chạy ví dụ này, chúng tôi sẽ có thể nhận được yêu cầu, nhưng không trả lời chúng. Trên thực tế, nếu bạn nhấn ví dụ này trong trình duyệt web, yêu cầu của bạn sẽ hết thời gian vì không có gì được gửi lại cho khách hàng Cho đến giờ chúng ta vẫn chưa chạm vào đối tượng 6, là một thể hiện của ________ 457, là một ________ 458. Nó chứa nhiều phương thức hữu ích để gửi dữ liệu trở lại máy khách. Chúng tôi sẽ đề cập đến điều đó tiếp theoMã trạng thái HTTPNếu bạn không cần thiết lập nó, mã trạng thái HTTP trên phản hồi sẽ luôn là 200. Tất nhiên, không phải mọi phản hồi HTTP đều đảm bảo điều này và đến một lúc nào đó, bạn chắc chắn sẽ muốn gửi một mã trạng thái khác. Để làm điều đó, bạn có thể đặt thuộc tính 59 3Có một số lối tắt khác cho điều này, như chúng ta sẽ sớm thấy Đặt tiêu đề phản hồiCác tiêu đề được đặt thông qua một phương thức thuận tiện có tên là 80 5Khi đặt tiêu đề trên phản hồi, trường hợp không nhạy cảm với tên của chúng. Nếu bạn đặt tiêu đề nhiều lần, giá trị cuối cùng bạn đặt là giá trị được gửi Rõ ràng gửi dữ liệu tiêu đềCác phương pháp đặt tiêu đề và mã trạng thái mà chúng ta đã thảo luận giả định rằng bạn đang sử dụng "tiêu đề ẩn". Điều này có nghĩa là bạn đang trông cậy vào nút gửi tiêu đề cho bạn vào đúng thời điểm trước khi bạn bắt đầu gửi dữ liệu nội dung Nếu muốn, bạn có thể ghi tiêu đề vào luồng phản hồi một cách rõ ràng. Để làm điều này, có một phương thức gọi là 81, viết mã trạng thái và tiêu đề vào luồng 7Khi bạn đã đặt tiêu đề (ngầm hoặc rõ ràng), bạn đã sẵn sàng để bắt đầu gửi dữ liệu phản hồi Gửi nội dung phản hồiVì đối tượng 6 là một 58, nên việc viết nội dung phản hồi cho khách hàng chỉ là vấn đề sử dụng các phương thức truyền phát thông thường 0Hàm 84 trên luồng cũng có thể nhận một số dữ liệu tùy chọn để gửi dưới dạng bit dữ liệu cuối cùng trên luồng, vì vậy chúng tôi có thể đơn giản hóa ví dụ trên như sau 1
Một điều nhanh chóng khác về lỗiLuồng 6 cũng có thể phát ra các sự kiện 54 và đến một lúc nào đó bạn cũng sẽ phải xử lý điều đó. Tất cả lời khuyên về lỗi phát trực tuyến 5 vẫn được áp dụng tại đâyĐặt nó tất cả cùng nhauBây giờ chúng ta đã học về cách tạo phản hồi HTTP, hãy kết hợp tất cả lại với nhau. Dựa trên ví dụ trước đó, chúng tôi sẽ tạo một máy chủ gửi lại tất cả dữ liệu mà người dùng đã gửi cho chúng tôi. Chúng tôi sẽ định dạng dữ liệu đó dưới dạng JSON bằng cách sử dụng 88 2Ví dụ máy chủ EchoHãy đơn giản hóa ví dụ trước để tạo một máy chủ echo đơn giản, chỉ gửi bất kỳ dữ liệu nào nhận được trong yêu cầu ngay trong phản hồi. Tất cả những gì chúng ta cần làm là lấy dữ liệu từ luồng yêu cầu và ghi dữ liệu đó vào luồng phản hồi, tương tự như những gì chúng ta đã làm trước đây 3Bây giờ hãy tinh chỉnh cái này. Chúng tôi chỉ muốn gửi một tiếng vang trong các điều kiện sau
Trong bất kỳ trường hợp nào khác, chúng tôi chỉ muốn trả lời bằng 404 4
Tuyệt quá. Bây giờ chúng ta hãy cố gắng đơn giản hóa điều này. Hãy nhớ rằng, đối tượng 5 là một 11 và đối tượng 6 là một 58. Điều đó có nghĩa là chúng ta có thể sử dụng 37 để chuyển dữ liệu từ cái này sang cái khác. Đó chính xác là những gì chúng tôi muốn cho một máy chủ tiếng vang 5suối Yay Mặc dù vậy, chúng tôi vẫn chưa hoàn thành. Như đã đề cập nhiều lần trong hướng dẫn này, lỗi có thể xảy ra và chúng ta cần xử lý chúng Để xử lý lỗi trên luồng yêu cầu, chúng tôi sẽ ghi lỗi vào 38 và gửi mã trạng thái 400 để biểu thị 39. Tuy nhiên, trong một ứng dụng trong thế giới thực, chúng tôi muốn kiểm tra lỗi để tìm ra mã trạng thái và thông báo chính xác sẽ là gì. Như thường lệ với lỗi, bạn nên tham khảo tài liệu 50Về phản hồi, chúng tôi sẽ chỉ ghi lỗi vào 38 6Bây giờ chúng tôi đã đề cập đến hầu hết các khái niệm cơ bản về xử lý các yêu cầu HTTP. Tại thời điểm này, bạn sẽ có thể
Từ những điều cơ bản này, Node. máy chủ HTTP js cho nhiều trường hợp sử dụng điển hình có thể được xây dựng. Có rất nhiều thứ khác mà các API này cung cấp, vì vậy hãy nhớ đọc qua các tài liệu API cho 7, 8 và 71 |