Javascript 未捕获(承诺中)错误:消息不应为空

Javascript 未捕获(承诺中)错误:消息不应为空,javascript,asynchronous,async-await,Javascript,Asynchronous,Async Await,我尝试使用此函数对从0到9的数字列表进行签名: eccrypto.sign(私钥,msg)从 问题是,当我使用for循环、forEach或任何循环格式时,函数不能与“await”一起使用,这是我的函数: newfun=(异步()=>{ var eccrypto=require(“eccrypto”); var privateKey=缓冲区。从([238239199101188134,13,13195172,125,168,225,189,72,148225,200,127,218204,1115

我尝试使用此函数对从0到9的数字列表进行签名:
eccrypto.sign(私钥,msg)

问题是,当我使用for循环、forEach或任何循环格式时,函数不能与“await”一起使用,这是我的函数:

newfun=(异步()=>{

var eccrypto=require(“eccrypto”);
var privateKey=缓冲区。从([238239199101188134,13,13195172,125,168,225,189,72,148225,200,127,218204,11150146,180243195109200,119,50,20],'hex');

对于(var msg=0;msgI不认为
sign
接受数字作为消息参数,您链接的自述文件也会说
//始终将消息散列以进行签名!
var msg=crypto.createHash(“sha256”).update(str).digest();
而你也没有这样做。我想说,这与承诺、循环或异步无关。听起来很像
。sign()
需要一个缓冲区,而不是一个数字。是的,没有任何文档显示
。sign
用于
数字
哦!愚蠢的问题):事实上,我需要它而不是散列,所以你是对的;问题是一个数字):当我将数字转换为字符串@CherryDT时,它工作
  var eccrypto = require("eccrypto");
    
  var privateKey= Buffer.from([238, 239, 199, 101, 188, 134, 13, 13, 195, 172, 125, 168, 225, 189, 72, 148, 225, 200, 127, 218, 204, 11, 150, 146, 180, 243, 195, 109, 200, 119, 50, 20],'hex');


  for (var msg=0; msg<=10;i++) {      
    var encrypt=await eccrypto.sign(privateKey, msg);
    
 }});