修改回應

 

在 JavaScript 後端行動服務中,伺服器指令碼可讓您控制寫入回應的內容。您可以修改作業傳回的結果,甚至產生不同的回應。

下列指令碼會讀取資料庫中的資料、將額外的 retrievedAt 屬性附加至每筆結果,然後將這些結果寫入回應。

function read(query, user, request) {
    request.execute({
        success: function(results) {
            var now = new Date();
            results.forEach(function(item) {
                item.retrievedAt = now;
            });
            request.respond(); //Writes the response
        }
    });
}

當現有的記錄具有相同的值時,下列指令碼會略過呼叫 execute 方法。它會改為呼叫 respond 方法以回報成功結果。這樣可避免插入重複的記錄。

function insert(item, user, request) {
    var channelTable = tables.getTable('Channel');
    channelTable.where({
        uri: item.uri
    }).read({
        success: insertChannelIfNotFound
    });

    function insertChannelIfNotFound(existingChannels) {
        if (existingChannels.length > 0) {
            request.respond(statusCodes.OK, existingChannels[0]);
        } else {
            request.execute();
        }
    }
}

如需詳細資訊,請參閱 Mobile Services 指令碼參考

顯示: