我正在对这样的数组进行操作:
.filter(key => actions && actions[key])
.forEach(key => actions[key](event, dispatch));
但我在forEach
actions
上发现了TypeScript错误:Object is possibly 'undefined'
。
然而,它不能'undefined'
,因为它会针对那些做 <{1}}的条目进行过滤。
答案 0 :(得分:8)
我认为TypeScript编译器不够智能,无法实现import spotipy
import spotipy.util as util
cid ="xx"
secret = "xx"
username = "xx"
scope = 'user-library-read playlist-read-private'
token = util.prompt_for_user_token(username,scope,client_id=cid,client_secret=secret,redirect_uri='http://localhost:8888/callback/')
if token:
sp = spotipy.Spotify(auth=token)
else:
print("Can't get token for", username)
cache_token = token.get_access_token()
sp = spotipy.Spotify(cache_token)
currentfaves = sp.current_user_top_tracks(limit=20, offset=0, time_range='medium_term')
print(currentfaves)
方法已从数组中删除所有filter
条目。在这种情况下,您可以通过告诉它使用非空断言运算符undefined
定义actions[key]
来帮助编译器,如本答案中所述:
https://stackoverflow.com/a/40350534/1063392
!