node.js - Node.js - 每当切换切换时调用异步函数
问题描述
在我的网站中,我有一个切换按钮,用于确定给定用户是否会收到来自给定来源的消息。每当更改此切换时,都需要调用异步函数。但是,如果切换切换,然后再次快速更改,我的程序必须等待之前的异步调用完成。这是我的两个调用异步函数的函数
_enable() {
let params = determineSubscriptionParams(this.endpoint, this.level);
SNS_CLIENT.subscribe(params, (err, data) => {
if (err) {
throw err;
}
else {
// do stuff here
}
});
}
_disable() {
let params = {
SubscriptionArn: this.subscriptionArn
}
SNS_CLIENT.unsubscribe(params, (err, data) => {
if (err) {
throw err;
}
else {
// do stuff here
}
});
}
这两个函数都是类的成员,订阅和取消订阅函数是异步调用
解决方案
您正在寻找代码关键部分的锁。如果您不想实现自己的,可以使用async-lock来完成此操作。
这将使第二个快速连续的请求在第一个请求释放之前无法进入代码的关键部分。
推荐阅读
- javascript - 替换对象和数组中的元素?
- java - setRequestedOrientation 上的 IllegalStateException
- javascript - 从 .find() 编辑文档数组中的文档
- python - matplotlib 修改颜色图,白色为零
- r - 当所有元素的值相同时,热图颜色
- dictionary - D3.js:将鼠标悬停在动画地图上
- python - 替换任何类型对象列表的模式,类似于 .replace for strings
- jenkins - JaCoCo 报告排序控件在 Jenkins 中处于非活动状态
- google-cloud-platform - 如何从命令行查看授予服务帐户的权限?
- ios - 如何从具有 HKDevice 的 Health Kit 中查询样本