gpt4 book ai didi

javascript - 在客户端从服务器获取值

转载 作者:行者123 更新时间:2023-11-30 20:21:27 26 4
gpt4 key购买 nike

我试图从我的服务器在 Electron/nodejs 中返回一个字符串,但遇到了一些麻烦。

我有一个名为 handleHWCompare 的函数,它有一个类型和值发送给它。对于某些类型,我需要将值发送到服务器,该服务器将处理并返回一个稍微改变的字符串以匹配我脚本中的某些特定情况。

问题是,我不知道如何在函数中正确使用返回的数据。

这个函数有多种类型的返回值,因为它有多种用途。这是我的功能:

function handleHWCompare(type, server, client, doActions = true) {

difference = leven(server, client);

if(difference <= 2) {
if(doActions) {
//do some actions
}
return true;
} else {
if(doActions) {
//do some actions
}
return false;
}

}

为此我尝试了一些方法。

在函数的顶部,我试过这个:

if(type == "mobo" || type == "sku") {
https.get('https://example.com/api/check_rules.php?type=' + type + '&value='+ client, (res) => {
res.setEncoding('utf8');
res.on('data', function (result) {
console.log('altered: ' + result);
client = result;
});
});
console.log('variable: ' + client);
}

而且我知道这是一个问题,因为如果同步/异步,但它实际上并没有及时设置值来使用它,它仍然是函数的旧值。

我尝试将函数中的所有现有代码放入 https.get 的 res.on 部分,但这没有用,因为它破坏了 return true返回false

我尝试使用几乎可以工作的回调函数,但我无法弄清楚如何使现有的 return truereturn false 部分工作,所以它坏了我的脚本(我已经尝试了几个小时,所以我没有代码了)。

做这么简单的事情似乎很难,我不想为此重写我的整个应用程序结构。我如何在此函数内发送此值并在我的客户端中检索更改后的版本?

我知道诸如 await 和 promises 之类的东西,但无论我多么努力,我都无法掌握如何使用它们的概念。

最佳答案

希望这对您有所帮助。

async function handleHWCompare(type, server, client, doActions = true) {
if(type == "mobo" || type == "sku") {
https.get('https://pccheck.r1ss.com/api/check_rules.php?type=' + type + '&value='+ client, (res) => {
res.setEncoding('utf8');
res.on('data', function (result) {
console.log(result);
return await handleHWCompareReal(type, server, result, doActions);
});
}).on('error', (e) => {
console.error(e);
});
} else {
return await handleHWCompareReal(type, server, client, doActions);
}
}

function handleHWCompareReal(type, server, client, doActions = true) {
//place your code
}

关于javascript - 在客户端从服务器获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51409391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com