首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >document.querySelectorAll.forEach奇怪的行为

document.querySelectorAll.forEach奇怪的行为
EN

Stack Overflow用户
提问于 2021-07-20 23:58:09
回答 1查看 40关注 0票数 0

我有一小段代码,它手动获取复选框的值,并通过socket io发出。问题是,如果我注释掉payload.permission.subscriptionPlans.push(item.value);,它工作得很好,但如果我取消注释,socket.emit仍然会运行,我仍然会获得服务器端需要的所有数据,没有任何错误,但它不会运行回调函数。代码如下:

代码语言:javascript
运行
复制
let payload = {
  permission: {},
};

payload.permission.subscriptionPlans = [];

document.querySelectorAll(".form-add-sub-plan:checked").forEach((item) => {
  console.log(item.value); // this still works
  payload.permission.subscriptionPlans.push(item.value); // problem here
});

socket.emit("admin/manage-permission/create", payload, (res) => {
  let addModal = bootstrap.Modal.getOrCreateInstance(document.getElementById("add-permission-modal"));

  addModal.hide();

  table.reload();

  table.displayMessage(res.payload.type, res.payload.message);
});
代码语言:javascript
运行
复制
// server code
socket.on("admin/manage-permission/create", async(req, done) => {
  try {
    if (await Permission.exists({
        url: req.permission.url
      })) {
      return done(
        new SocketPayload("error", 409, {
          type: "danger",
          message: "Url already exists",
        })
      );
    }

    let newPermission = new Permission(req.permission);

    // console.log(newPermission);
    await newPermission.save();

    return done(
      new SocketPayload("success", 200, {
        type: "success",
        message: "New permission was added",
      })
    );
  } catch (e) {
    console.log(e);

    return done(
      new SocketPayload("error", 500, {
        type: "danger",
        message: "An error occured",
      })
    );
  }
});

你知道为什么会发生这种情况吗?编辑:添加了服务器代码,如果有人想知道

EN

回答 1

Stack Overflow用户

发布于 2021-07-21 01:03:26

事实证明,这是mongoose中间件停止套接字以返回回调。我花了一段时间才弄明白,因为服务器没有抛出任何错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68457967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档