Parse platform 解析云代码中的request.context是如何工作的?

Parse platform 解析云代码中的request.context是如何工作的?,parse-platform,parse-cloud-code,Parse Platform,Parse Cloud Code,在Parse Server 3.0更新中,添加了request.context以在BeforeSave和AfterSave之间传递数据,如下所述: 但是,我在理解Parse如何以及何时在示例中运行此代码时遇到了一些困难 const beforeSave = function beforeSave(request) { const { object: role } = request; // Get users that will be added to the users relati

在Parse Server 3.0更新中,添加了request.context以在BeforeSave和AfterSave之间传递数据,如下所述:

但是,我在理解Parse如何以及何时在示例中运行此代码时遇到了一些困难

const beforeSave = function beforeSave(request) {
  const { object: role } = request;
  // Get users that will be added to the users relation.
  const usersOp = role.op('users');
  if (usersOp && usersOp.relationsToAdd.length > 0) {
    // add the users being added to the request context
    request.context = { buyers: usersOp.relationsToAdd };
  }
};

const afterSave = function afterSave(request) {
  const { object: role, context } = request;
  if (context && context.buyers) {
    const purchasedItem = getItemFromRole(role);
    const promises = context.buyers.map(emailBuyer.bind(null, purchasedItem));
    item.increment('orderCount', context.buyers.length);
    promises.push(item.save(null, { useMasterKey: true }));
    Promise.all(promises).catch(request.log.error.bind(request.log));
  }
};
在其他示例中,云代码函数通过Parse.cloud.beforeSave或Parse.cloud.afterSave运行。在上面的示例中,将函数beforeSave分配给

节约之前节约

为什么要这样做?应该放在main.js顶层还是另一个函数中