具有模拟服务器请求的功能
private byte[] GenerateKey()
{
X509Certificate2 cer = new X509Certificate2();
cer.Import("D:\\MiCertificado.cer");
TripleDESCryptoServiceProvider desCrypto = (TripleDESCryptoServiceProvider)TripleDESCryptoServiceProvider.Create();
byte[] results = cer.GetPublicKey();
MD5 md5 = MD5.Create();
int preKeyLength = results.Length;
byte[] prekey = null;
prekey = new byte[preKeyLength];
Buffer.BlockCopy(results, 0, prekey, 0, results.Length);
byte[] key = md5.ComputeHash(prekey);
md5.Clear();
md5 = null;
return key;
}
val - 整数值; callback - 在一些随机延迟后执行的函数。它有一个整数参数。
我需要以下内容:通过此函数生成数字并模拟服务器超时
尝试这个
private void DecryptFile(string source, string destination, byte[] bkey )
{
TripleDESCryptoServiceProvider TDES = new TripleDESCryptoServiceProvider();
TDES.Mode = CipherMode.ECB;
TDES.Padding = PaddingMode.PKCS7;
TDES.KeySize = 192;
TDES.BlockSize = 64;
TDES.Key = bkey;
FileStream fsread = new FileStream(source, FileMode.Open, FileAccess.Read);
ICryptoTransform desdecrypt = TDES.CreateDecryptor();
CryptoStream cryptostreamDecr = new CryptoStream(fsread, desdecrypt, CryptoStreamMode.Read);
StreamWriter fsDecrypted = new StreamWriter(destination);
fsDecrypted.Write(new StreamReader(cryptostreamDecr).ReadToEnd());
fsDecrypted.Flush();
fsDecrypted.Close();
}
但有答案:未捕获TypeError:回调不是函数 - 3秒后。 需要生成数字并在一些超时后显示它,使用顶部的功能
我不明白数学是什么意思**。randInt **(1000));
答案 0 :(得分:0)
你传递了一个论点:
var g = request(q);
到一个被定义为需要2的函数:
function request(val, callback) {'
这意味着该函数中的callback
将是未定义的,因此您的错误。也许你打算传入你之前定义的a
函数。
答案 1 :(得分:0)
如果你需要使用这个功能,你似乎需要传递一个数字和一个函数(回调)
function request(val, callback) {
setTimeout(function() {
callback(val * val);
}, 3000);
}
像这样
request(50, a);
这是您编写的函数,您可以将其作为第二个参数传递给request
函数
var a = function randomInteger(max) {
var rand = 0 + Math.random() * (max + 1 - 0 -1);
rand = Math.floor(rand);
console.log(rand);
};
在此功能中,您可以将结果打印到屏幕
答案 2 :(得分:0)
试试这个。需要在回调中调用console.log
。
function randInt(max) {
var rand = Math.random() * max;
rand = Math.floor(rand);
return rand;
}
function request(val, callback) {
setTimeout(function() {
callback(val * val);
}, randInt(1000));
}
request(20, function(result) {
console.log(result);
});