Возможно объект не определен в TypeScript - PullRequest
0 голосов
/ 27 апреля 2020

Я использовал sfDoc !== undefined, но все же я получаю сообщение об ошибке объекта, возможно, не определено. Я что-то здесь не так делаю?

return database.runTransaction(function (transaction) {
    return transaction.get(sfDocRef).then(sfDoc => {
        if (!sfDoc.exists) {
            throw "Document does not exist!";
        }
        if (sfDoc !== undefined) {
            var usedCount = sfDoc.data().usedCount + 1;
            transaction.update(sfDocRef, { usedCount: usedCount });    
        }
        return transaction;
    });
}).then(function () {
    console.log("Tag field changed!");
    return true;
}).catch(function (error) {
    console.log("Error in changing Tag field: ", error);
    return false;
});

1 Ответ

1 голос
/ 27 апреля 2020

Попробуйте этот пример. Проверьте sfDo c и верните transaction.update, чтобы потом дождаться разрешения обещания. Согласно документу, вам не нужно проверять на sfDoc. Это будет всегда определено.

return database
  .runTransaction(function (transaction) {
    return transaction.get(sfDocRef).then((sfDoc) => {
      if (sfDoc && sfDoc.exists) {
        var usedCount = sfDoc.data().usedCount + 1;
        return transaction.update(sfDocRef, { usedCount: usedCount });
      } else {
        throw "Document does not exist!";
      }
    });
  })
  .then(function () {
    console.log("Tag field changed!");
    return true;
  })
  .catch(function (error) {
    console.log("Error in changing Tag field: ", error);
    return false;
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...