Como mostro um girador enquanto aguardo uma solicitação AJAX no Mithril JS?

Estou usando o Mithril JS em um projeto e estou tendo problemas para entender exatamente como lidar com o ciclo de vida do Ajax. Como se uma solicitação do Ajax demorar algum tempo, quero mostrar um botão giratório. Bastante básico, mas não consigo descobrir como isso pode acontecer.

Quero usar o mesmo contêiner para o spinner que o conteúdo que a solicitação do Ajax está procurando.

Aqui está a minha configuração:

var Thing = function (data) {
  var p = m.prop;
  this.title = p(data.title);
  this.timestamp = p(moment.unix(data.timestamp));
}

Thing.list = function(options) {
  m.request({method: "GET", url: "/things.json", type: Thing, background: true});
};

MyApp.components.thingsList = {
  controller: function ThingListController() {
    this.things = m.prop([]);
    Thing.list().then(this.things).then(m.redraw);
  },

  view: function thingListView(ctrl) {
    return m('div#thing-tab', [
      m('ul#things', [
        ctrl.things().map(thingView)
      ])
    ]);
  }
};

function thingView(thing) {
  ...some view stuff...
}

Tenho o trabalho da maneira que quero, mas simplesmente não consigo descobrir como me conectar ao ciclo de vida do ajax. Mais uma vez, eu só quero mostrar um botão giratório quando a solicitação for iniciada e substituí-la pelo resultado da solicitação ajax.

Toda e qualquer ajuda é muito apreciada!

Obrigado,

questionAnswers(2)

yourAnswerToTheQuestion