将值存储在函数中

Store values in function

本文关键字:函数 存储      更新时间:2024-03-07

我有这个功能,可以处理通过websocket从服务器返回的数据。根据您所在的页面,数据会有不同的处理方式。

sock.onmessage = function (e) {
    log(e.data);
}
function returnCurrentPage(m) {
    if (helpers.getCurrentPage() === '#builddetail_page') {
        // For the builddetailpage
        var stepList = $('#stepList > li');
        return realtimePages.buildDetail(m, stepList);
    }
    if (helpers.getCurrentPage() === '#builders_page') {
        var tableRowList = $('.tablesorter-js tbody > tr');
        return realtimePages.buildersPage(m, tableRowList);
    }
}
// Data to be parsed
function log(m) {
    returnCurrentPage(m)
};

我的问题是,每次log()被调用时,return CurrentPage()也是如此。如何从存储在log()中的returnCurrentPage()中获取返回值?所以我不必每次运行log()时都运行returnCurrentPage()?

您能将返回的值保存在localStorage中吗?

sock.onmessage = function (e) {
    log(e.data);
}
function returnCurrentPage(m) {
    if (helpers.getCurrentPage() === '#builddetail_page') {
        // For the builddetailpage
        var stepList = $('#stepList > li');
        return realtimePages.buildDetail(m, stepList);
    }
    if (helpers.getCurrentPage() === '#builders_page') {
        var tableRowList = $('.tablesorter-js tbody > tr');
        return realtimePages.buildersPage(m, tableRowList);
    }
}
// Data to be parsed
function log(m) {
    if( localStorage.returnPage === undefined )
        localStorage.returnPage = returnCurrentPage(m)
};

您可以将记录的值存储在全局变量中,并根据需要清除它。