我有一个这样的代码,我正在使用flickr-sdk,它使用superagent来进行所有调用。
常量superagent=require('superagent');var flickr=require('flickr-sdk');
let userId: string = '123'
getFavList: string = async() => {
let favResponse: Response = await flickr.favorites.getList({
user_id: userId,
});
return favResponse.text;
}
现在我这样叫它
let list: string = await getList();
Typescript给出此错误()=>Promise
有没有办法把承诺转换成字符串。然后返回该解析值。
编辑:已更新代码以返回favResponse
您正在将GetFavList
分配给类型String
:
getFavList: string = async () => ...
GetFavList
不是一个字符串,它是一个向字符串返回承诺解析的函数。
您可以这样做:
getFavList = async (): Promise<string> => {
let favResponse: Response = await flickr.favorites.getList({
user_id: userId,
});
这取决于您的ts-config,但您可以让类型推断为您处理所有事务,而完全避免显式类型(这是我个人推荐的)。