首页 > 解决方案 > 无法更新 Hyperledger Composer 中的现有资产

问题描述

我有一个资产,我想更新 degreeStatus 属性:

asset Degree identified by degreeId {
    o String degreeId
    o String graduateRut
    o String owner
    o String degreeType
    o String degreeStatus
    o String major
    o String minor
    o String gpa
    o String startYear
    o String gradYear
    o String university
    o String[] authorized optional
}

我在 Node SDK 中有这个功能:

updateDegreeData: async function (degreeId, updateData, uid) {

  let cardIdUni = await getUniversityCardId2(uid);
  console.log(cardIdUni);

  businessNetworkConnection = new BusinessNetworkConnection();
  await businessNetworkConnection.connect(cardIdUni);

  degreesRegistry = await businessNetworkConnection.getAssetRegistry(namespace + '.Degree');
  let degree = degreesRegistry.get(degreeId);
  degree.degreeStatus = updateData;

  degreesRegistry.update(degree);

  return degree

}

它正在返回我要更新但未更新的资产。谢谢你的帮助!

标签: node.jshyperledger-composer

解决方案


首先,degreesRegistry.update(degree);是一个 Promise,你需要await它。

您可能还想要么 要么try{} catch{}看看.catch()是否有任何问题.update()


推荐阅读