http请求,如果有问题

时间:2011-04-26 21:58:13

标签: http node.js

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

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

2 个答案:

答案 0 :(得分:1)

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

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

saveDataToDB(lat, long, somedata);

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

答案 1 :(得分:0)

抽象出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);
    }
}

最有可能的工具可以帮助您处理您正在做的事情 - 如果您展示了一些您想要做的事情,这个答案可以获得批次< / em>不太通用。 : - )