0

在 react-native 应用程序中,使用 realm.js,以下函数抛出The realm is already in a write transaction错误。

函数定义:

export const addJob = (params) => {
  const job = {
    ...params,
    id: uuid.v4(),
    account: realm.objectForPrimaryKey('Account', params.accountId),
    product: realm.objectForPrimaryKey(
      'Product',
      params.accountId + '_' + params.productId
    ),
    dateAdded: Date.now(),
  };
  let Job;
  realm.write(() => {
    Job = realm.create('UploadQueueJob', job);
  });
  return Job;
};

函数调用:

export const invocation = async (task, tasks) => {
  const sessionId = task.sessionId;
  const account = task.account;

  const job = await addJob({
    accountId: task.account.accountId,
    productId: task.product.productId,
    status: 1,
    dateCompleted: 0,
    photosRemoved: false,
  });
  await updateProduct({
    accountId: task.account.accountId,
    productId: task.product.productId,
  });
}

为什么会抛出这个错误?

4

0 回答 0