我有一个更新我的应用程序的通知状态的操作.通常,此通知将是某种错误或信息.我需要在5秒后发送另一个操作,将通知状态返回到初始状态,因此不会发出通知.这背后的主要原因是提供通知在5秒后自动消失的功能.
我没有运气使用setTimeout和返回另一个动作,也无法找到如何在线完成.所以欢迎任何建议.
我正在浏览这个问题的答案:我可以在reducer中发送一个动作吗?在这个答案中,我看到以下内容:
actionQueue = actionQueue.concat([asyncAction]);
Run Code Online (Sandbox Code Playgroud)
这基本上与:
actionQueue.push(asyncAction);
Run Code Online (Sandbox Code Playgroud)
(忽略concat调用正在创建一个新数组并重新分配它actionQueue,结果是相同的 - asyncAction附加到它的数组).
最初,我认为它(或许)表现得更好(某种程度上),而其他人显然想知道他们在jsperf:Array .concat()vs. .push()中击败我.
正如jsperf测试的结果所示,该concat方法明显慢于push(至少就Chrome而言).
有什么我想念的吗?在这个用例中
是否有理由concat是首选的?