gpt4 book ai didi

javascript - 将函数添加到队列中以便稍后执行。终极版

转载 作者:行者123 更新时间:2023-11-30 20:29:15 24 4
gpt4 key购买 nike

friend 。
我遇到了一个问题。我有这行代码

var methodToQueue = {
afterOffline: ƒ afterOffline(data)
dependsOnNetworkStatus: true
offline: ƒ offline(data)
online: ƒ online()
}

它是一个对象,如果某个 redux Action 离线执行,它会动态改变。我想将它存储在我的 redux 存储中 -
store.dispatch({ type: 'ADD_TO_ACTION_QUEUE', payload: methodToQueue.afterOffline });
reducer 看起来像这样 -

const initialState = {
functionsQueue: []
};

const reducer = (state = initialState, action) => {
switch (action.type) {
case 'ADD_TO_ACTION_QUEUE':
return Object.assign({}, state, {
functionsQueue: state.functionsQueue.concat([action.payload])
});
default:
return state;
}
}

但是它不想保存方法来保存它保存null。即使我尝试使用 JSON.stringify() 并存储所有对象,它也只保存没有任何逻辑的属性。{ type: 'ADD_TO_ACTION_QUEUE', payload: JSON.stringify(methodToQueue) } - 将仅保存 dependsOnNetworkStatus: true
你知道如何在执行后将一些函数保存到 redux store 吗?它也可以是 localStorage。提前谢谢你!

最佳答案

Redux store 用于持久化State。状态可以是字符串、数字、字符串和数字数组以及不是函数的对象。

如果要存储函数,请处理它的名称,因为函数名称字符串。然后,在另一层(中间件)中,捕获该名称并通过反射调用相关函数。

关于javascript - 将函数添加到队列中以便稍后执行。终极版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50541724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com