小编Sha*_*izi的帖子

如何使用 println 打印 syn::Expr 的内容?

我试图将 a 的内容输出syn::Expr到控制台,但出现以下错误:

error[E0599]: no method named `to_string` found for type `&syn::Expr` in the current scope
   --> derive/src/lib.rs:165:40
    |
165 |                 println!("Expression: {:#?}", expr.to_string());
    |                                                    ^^^^^^^^^
    |
    = note: the method `to_string` exists but the following trait bounds were not satisfied:
            `syn::Expr : std::string::ToString`
            `&syn::Expr : std::string::ToString`
            `syn::Expr : std::string::ToString`
Run Code Online (Sandbox Code Playgroud)

我不清楚什么是“特质界限”或如何满足它们。有什么简单的方法可以输出这个变量的内容吗?

rust

3
推荐指数
1
解决办法
587
查看次数

如何查看 Parity Substrate 中的宏生成的最终代码?

Substrate 使用了很多宏来让编写运行时模块变得更加容易:

  • construct_runtime!
  • decl_module!
  • decl_storage!
  • decl_event!
  • ETC...

然而,很难理解这些宏实际上做了什么以及最终的代码是什么样的。我怎样才能更深入地研究这些宏和扩展?

blockchain substrate

3
推荐指数
1
解决办法
611
查看次数

自由余额、预留余额、锁定余额、归属余额等有什么区别?

在 Substrate 区块链开发框架中,FRAME Balances 托盘引用了 4 种不同的余额:

  • 自由余额
  • 预留余额
  • 锁定余额
  • 归属余额

这些不同类型的 balances 之间有什么区别,它们什么时候在 Substrate 中使用,我应该如何在我自己的运行时模块中使用它们?

blockchain substrate

2
推荐指数
1
解决办法
1172
查看次数

如何在 Substrate 中更新我的令牌名称?

我已经设置了一个自定义的 Substrate 链,我想修改我的令牌的显示名称。

我需要修改什么才能让 Polkadot JS 和其他 API 可以发现我的令牌名称?

默认情况下它是“单位”。

substrate polkadot-js polkadot

2
推荐指数
1
解决办法
205
查看次数

如何在JavaScript Promise.all()中使用async / await语法忽略错误

我正在尝试运行一个for循环,该循环将一堆异步请求排队。一旦所有的请求完整,独立的是否resolve还是reject,我希望再运行一些代码。我试图利用异步/等待模式,因为它看起来更好。:)

这就是我在做什么:

var promises = []
for ( item in list ) {
    prom = AsyncFunction( item )
    promises.push(prom)
}

await Promise.all(promises)

doMoreAfter()
Run Code Online (Sandbox Code Playgroud)

但是,某些承诺失败了,而第二个承诺也失败了Promise.all()

我只想忽略所有失败的承诺,并在所有承诺完成后运行下一个代码。

我发现像解决

Promise.all([a(), b(), c()].map(p => p.catch(e => e)))
  .then(results => console.log(results)) // 1,Error: 2,3
  .catch(e => console.log(e));
Run Code Online (Sandbox Code Playgroud)

但是,当尝试将其转换为异步/等待格式时,它似乎并不起作用。

await Promise.all(promises.map(p => p.catch(e => e)))
Run Code Online (Sandbox Code Playgroud)

我想念什么?

javascript promise async-await

1
推荐指数
1
解决办法
2478
查看次数

如何在 Substrate 区块链中初始化用户的余额?

当我启动我的 Substrate 区块链时,我想用一些自由余额来初始化用户。

我怎样才能做到这一点?

如果我的链已经在运行并且我不想重新启动它怎么办?

blockchain substrate

0
推荐指数
1
解决办法
540
查看次数