http请求和if问题

发布于 2024-11-03 19:04:39 字数 170 浏览 1 评论 0原文

因此,仅当用户在输入中输入 lat,lng 时,我才必须进行 http 请求调用,这意味着在服务器端我必须检查该输入是否已设置。如果是,那么我想添加这些数据以及更多数据到数据库中。如果未设置,那么我只想将更多数据保存到数据库中。

现在我在 if{} 和 else{} 中运行相同的代码。我有办法避免这种情况吗?

So i have to make a http request call only if the user enters lat,lng in the inputs, so that means on the server side I have to check if that input was set or not. If it was, then I want to add this data, plus some more data to the database. If not set, then I want to save only the some more data to the database.

Right now I am running the same code in if{} and in else{}. Is there a way for me to avoid that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

起风了 2024-11-10 19:04:39

你只需要测试 args、lat 和 lng 是否都有信息。在这两种情况下,您都必须保存 allData 或 someData。
因此,最好的方法是(恕我直言):

var lat = (lat != '') ? lat : 0;
var long = (lng != '') ? lng : 0;

saveDataToDB(lat, long, somedata);

因此,如果值为 0 或 '',则保存 0 (认为这两个值都是数字)

you only need to test if both args, lat and lng have info. In both cases you have to save allData or someData.
So, the best way to do this is (IMHO):

var lat = (lat != '') ? lat : 0;
var long = (lng != '') ? lng : 0;

saveDataToDB(lat, long, somedata);

So if the values are 0 or '', you save a 0 (thinking that both values are numbers)

我还不会笑 2024-11-10 19:04:39

抽象出 ifelse 语句内的代码,使其成为一个接受对象并将其保存到数据库的函数。然后调用该函数,传入响应对象(或备用对象,如果您事先做了一些工作。)

function persist_data(response) {
    // Do work to set up the database
    database.save(response);
}

function respond_to_user_input(req, res) {
    var response = {};
    // Populate the necessary data into the response object
    if (user_has_provided_lat_and_lng) {
        // Set up your response object to include lat an lng
        persist_data(response);
    } else {
        // Include only the *other* data
        persist_data(response);
    }
}

很可能已经有工具可以帮助您完成正在做的事情 -如果你展示一些你正在尝试做的事情,这个答案可能会变得不那么通用。 :-)

Abstract out the code inside of your if and else statements and make it a function that takes an object and persists it to the database. Then call that function, passing in the response object (or an alternate object, if you are doing some work beforehand.)

function persist_data(response) {
    // Do work to set up the database
    database.save(response);
}

function respond_to_user_input(req, res) {
    var response = {};
    // Populate the necessary data into the response object
    if (user_has_provided_lat_and_lng) {
        // Set up your response object to include lat an lng
        persist_data(response);
    } else {
        // Include only the *other* data
        persist_data(response);
    }
}

There are most likely already tools out there to help you with what you are doing -- if you show a bit of what you are trying to do this answer can get a lot less generic. :-)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文