Tôi đang sử dụng coffescript Iced với js upshot khi tôi làm mới nhiều nguồn dữ liệu. Phương thức làm mới có TWo gọi lại một cho thành công và một cho lỗi và tôi muốn chờ cho mỗi cuộc gọi để thực hiện hoặc gọi lại.Kịch bản cà phê đá với nhiều cuộc gọi lại
Tôi không thể xem cách thực hiện việc này với coffescript không có id mà không cần thực hiện thêm chức năng. Câu hỏi của tôi là - có cách nào tao nhã hơn để tôi có thể trì hoãn một trong nhiều cuộc gọi lại không?
Đây là mã Tôi hiện có:
refreshMe = (key, value, result) =>
value.refresh(
(success)=>
result success
,
(fail, reason, error)=>
result undefined, fail
)
@refresh =() =>
success={}
fail={}
await
for key, value of @dataSources
refreshMe key, value, defer success[key], fail[key]
Đây là cách tôi sẽ làm điều đó, mặc dù nó cũng có thể (nhưng phức tạp hơn) để phân bổ một Rendezvous mới, tạo ra hai trì hoãn từ đó Rendezvous, và sau đó chờ đợi chỉ là người đầu tiên quay trở lại. –