我正在使用Crypto2(https://www.npmjs.com/package/crypto2)库进行公钥/私钥生产。我在注册一些患者时生成了这些密钥,如下面的代码所示。
Template.patient_register.events({
'submit form': function(event, template) {
event.preventDefault();
const {privateKey,publicKey} = await crypto2.createKeyPair();
var _email = event.target.registerEmail.value;
var _password = event.target.registerPassword.value;
var _disease_group = event.target.registerDisease_Group.value;
var _account_type = event.target.registerAccount_Type.value;
var _publickey = await crypto2.readPublicKey('key.pub');
console.log("Public Key Is:::"+_publickey);
console.log("Private Key Is:::"+await crypto2.readPrivateKey('key.pem'));
var newAccount = {
email : _email,
password : _password,
disease_group : _disease_group,
account_type : _account_type,
public_Key : _publickey
};
Accounts.createUser(newAccount, function(err) {
if (err) {
....................
} else {
.....................
}
});
template.find("form").reset();
}
});
但是,当我运行这段代码时,它失败并显示错误“ await是保留字”。请帮助我。
答案 0 :(得分:1)
您必须添加 async
声明,以告知编译器该函数使用异步函数,并且必须await
来使用它们:
'submit form': async function(event, template) {
答案 1 :(得分:1)
(Async / await)始终成对使用。每当创建包含等待语句的函数时,都必须与async一起使用。
function add(x,y){
return x+y;
}
// if you do not write async you will be prompt with (SyntaxError: await is only valid in async function)
async function test(){
const x = 1;
const y = 2;
const result = await add(x,y);
console.log(result) // 3
}