javascript - 如何使用事务更改资产属性的值?
问题描述
我正在研究超级账本作曲家游乐场。我有一个包含客户详细信息的资产:
{
"$class": "org.example.empty.userData",
"id": "3890",
"Name": "Ramesh",
"Data": [
"disease",
"some more disease"
],
"category": "Health",
"Mobile": "8698617174",
"timestamp": "2019-01-03T11:26:50.915Z",
"AllowRead": false,
"Ecosystem": "resource:org.example.empty.Ecosystem#7758",
"Addsup": "resource:org.example.empty.Addsup#2534"
}
现在,我想通过事务函数更改“AllowRead”属性的值。
我该怎么做?
解决方案
首先,您需要获取资产的注册表:
const registry = await getAssetRegistry('org.example.empty.userData');
现在通过 ID获取资产:
const asset = await registry.get('3890');
更改属性并保存资产:
asset.AllowRead = true;
await registry.update(asset);
注意get
和update
都是异步函数,所以要么await
在async
函数中使用,要么使用Promise.then
语法,例如
getAssetRegistry('org.example.empty.userData')
.then(registry => registry.get('3890'))
.then(asset => {
asset.AllowRead = true;
return asset;
})
.then(asset => registry.update(asset));
如果要更改测试中的属性,请使用注册表工厂访问注册表:
const factory = businessNetworkConnection.getBusinessNetwork().getFactory();
const registry = await factory.getAssetRegistry('org.example.empty.userData'); // etc
推荐阅读
- c# - 如何使用 C# 连接到 SharePoint 2007?
- erlang - 为什么这个函数没有在 Erlang 中编译
- splunk - Splunk 查询中有关上次修改日期的排序问题
- asp.net - 仅给定会话 ID,如何访问 ASP.NET 会话状态?
- python-2.7 - OpenCV Python:如何在 calcHist 中使用轮廓作为掩码?
- java - 如何使用 Caffeine 缓存管理器测试内存缓存?(即缓存后获取缓存中的条目数,缓存逐出)
- android - 如何在android中增加每天的 Place Api 请求限制?
- r - mlr:测试 FailureModel 的最佳方法是什么?
- python - 无法使用请求解析来自网页的视频链接
- javascript - 如何在不使用位置属性的情况下重叠表格(td)文本