javascript - 如何使用生成器函数作为事件侦听器内部的回调
问题描述
我有一个生成器函数来处理身份验证并将操作发送到 redux 存储。该功能需要在事件上执行。
我如何将其用作事件侦听器内部的回调?
这就是功能:
export function* authentication({ data }) {
// Data structure {
// action: 'authentication',
// id: '7293847829109932,
// displayName: 'User Name',
// avatar: 'https://steamcommunity.com/images/user.png',
// access: 'access_token_string',
// refresh: 'refresh_token_string',
// }
// Will dispatch the success action if the data is correct
if (data.action === 'error') {
return yield put(signInFailure(data.message));
}
if (data.action === 'authentication') {
localStorage.setItem('dualbits:access', data.access);
localStorage.setItem('dualbits:refresh', data.refresh);
}
return yield put(signInSuccess(data));
}
事件监听器:
window.addEventListener('message', authentication, false);
解决方案
推荐阅读
- angular - 使用 VSTS 管道创建 Angular Docker 映像的问题
- ios - 如何识别 iOS 应用程序是否连接到特定的 WiFi 网络?
- javascript - 如何将变量值分配给ajax块中的xml字段
- java - 在尝试“apt install openjdk-8-jre-headless”和“apt install openjdk-8-jdk”后,java 不可用
- django - 有没有办法在 django 中扩展创建的模型字段另一个模型?
- angular - Angular 6 基于角色的身份验证
- reactjs - 渲染后从 HTML 中删除自动播放
- mongodb - 如何聚合 ObjectId 对数组及其相关集合
- rest - 在 REST API 调用中,如果结果为空,我们应该返回什么
- node.js - 如何使用 MERN 堆栈应用程序上传对象数组,其中某些对象包含文件?