export const checkLoggedIn = () => {
return new Promise((resolve, reject) => {
apiConfig.fetchApi('/users/is_valid', {}, 'get', {})
.then((resp)=> {
resolve(true);
})
.catch((exception)=> {
reject(false);
})
.done()
})
}
以上是我的用户令牌检查代码。
但是函数checkLoggedIn()
正如下图所示
但我只想得到真或假。 如果您在代码中发现问题,请将其注释掉
答案 0 :(得分:2)
请检查then和catch的定义以及Promise的一般定义和用法。
在您的示例中apiConfig.fetchApi
似乎返回了一个Promise(因为您使用的是then()
,它适用于Promise)。因此,您不必创建新的Promise。
您的代码可能如下所示(我在此处排除了响应参数,因为您没有在代码段中使用它):
export const checkLoggedIn = () => (
apiConfig.fetchApi('/users/is_valid', {}, 'get', {})
.then(() => true)
.catch(error => { console.log(error); return false; })
);
如果apiConfig.fetchApi
不返回Promise,则可以创建Promise。但是,您必须使用apiConfig.fetchApi
的返回值并根据其值进行解析或拒绝。