Tôi đang xem xét các chức năng xử lý trả về các lời hứa với các hàm Ramda khác rồi pipeP. Tôi đang cố gắng so sánh các chức năng (một trong số đó trả về một lời hứa) với bằng như sau:Xử lý lập trình không đồng bộ với Ramda
getSectionFromDb :: obj -> promise
getSectionFromData :: obj -> number
R.equals(
getSectionFromDb,
getSectionFromData
)
Có hai yếu tố ở đây. R.equals đầu tiên sẽ không đánh giá các hàm, nhưng vấn đề lớn hơn là tôi so sánh lời hứa với một số.
Có cách nào có chức năng để thực hiện loại công cụ này (tôi biết các hàm không phải là tham chiếu trong suốt, nhưng phải có cách xử lý io)? Có cách nào để thực hiện điều này không?
Cảm ơn.
Âm thanh như bạn muốn 'nâng 'hàm' equals' - đầu tiên trong đơn nguyên lời hứa và sau đó trong hàm ứng dụng; tiếc là Ramda chỉ có thể nâng cho danh sách. – Bergi
Vì vậy, bạn muốn có một chức năng '??? :: (obj -> Promise) -> (obj -> number) -> (obj -> Promise ) '? –
Bergi
@Bergi: Tài liệu của Ramda không phải là khá lên đến snuff ở đây, nhưng 'lift' ** [không hoạt động trên tùy ý' Functors' ứng dụng] (https://github.com/ramda/ramda/blob/master/test/liftN .js # L42-L45) **. –