2016-08-02 36 views
13

Tôi đang sử dụng Luồng 0.30.0. Tôi có một hàm trả về một lời hứaSử dụng Lời hứa làm loại trả lại trong Luồng

function process(callback:Function):Promise { 
    return new Promise((r,re) => callback) 
} 

lỗi Flow, phàn nàn

function process(callback:Function):Promise { 
            ^^^^^^^ Promise. Application of polymorphic type needs <list of 1 argument>. (Can use `*` for inferrable ones) 

này hoạt động trong tryflow, nhưng không phải ở địa phương. Bất kỳ ý tưởng nào về vấn đề này?

Trả lời

22

Theo các thay đổi dòng chảy có một thay đổi được giới thiệu trong v0.28.0 làm cho các đối số kiểu rõ ràng. Đặt rõ ràng loại trả về là Promise<any> sẽ khắc phục sự cố của bạn.

Hoặc bạn có thể thiết lập các cờ sau để sai sự thật, mặc dù đây là một lá cờ tạm thời, sẽ được loại bỏ trong tương lai

experimental.strict_type_args=false

https://github.com/facebook/flow/blob/master/Changelog.md#v0280

+3

Excuse sự thiếu hiểu biết của tôi, nhưng tôi đã cố gắng để tìm tài liệu Loại lời hứa trong Tài liệu luồng (https://flow.org/en/docs/types/) nhưng tôi không thể tìm thấy bất kỳ điều gì. Nó được ghi chép ở đâu? – Leonardo

+0

@Leonardo Tôi đang ở trong tình huống tương tự, bạn đã tìm thấy tài liệu trên đó chưa? – Noitidart

+1

@Noitidart loại, tôi đã phải mở một [vấn đề trên github] (https://github.com/facebook/flow/issues/4882), nơi họ đã chỉ cho tôi mã thực hiện Promise Type. Rõ ràng là mã tồn tại nhưng nó không được ghi lại: \ – Leonardo

Các vấn đề liên quan