Ответ 1
Вам не нужно определять значение U
.
Источник потока, с которым вы связаны, означает, по существу, Promises, возвращаемый then
, со значением, которое совпадает с возвращаемым значением обработчиков или выполненным значением возвращенного обещания этих обработчиков ". Это звучит запутанно (потому что Promises может быть очень запутанным), но суть в том, что это не то, что вы" заполняете". Он создает связь между типами, возвращаемыми then
, и типами возвращаемых значений onFulfill
и onReject
, переданных в then
.
Ошибка, которую вы получаете, означает, что Flow не может понять, что это за отношения, потому что у него недостаточно информации. Аннотировать обратные вызовы then
с типами:
return promise.then((a:string)=>...)
Это либо исправит ошибку, либо, по крайней мере, устранит несогласованность U
, чтобы дать вам более конкретную ошибку.