这是一个函数,我可以从
redux-saga
传奇:
export function* getSessionToken(username: string) {
try {
const session = yield call(refreshSession, username);
return session.idToken.getJwtToken();
} catch (error) {
return;
}
}
用途:
function* signIn(username) {
const jwt = yield call(getSessionToken, username);
if (!jwt) {
return;
}
}
但是如果在我的代码中有其他地方,我希望在不使用redux saga的情况下实现相同的流。我该怎么办?有可能吗?
以下是我最好的(困惑和失败的)尝试:
function signIn(username) {
const generator = getSessionToken(username);
let result = generator.next();
while (!result.done) {
result = it.next();
}
result.then((jwt) => {
if (!jwt) {
return;
}
})
}