INNER CODE UNIT · JavaScript

ChainRequest

astefanutti/kubebox · lib/client.js:13

class ChainRequest {

  constructor(...requests) {
    this.requests = requests;
  }

  get({ generator, readable, async = true, cancellable = false, rejectOnAbort = false } = {}) {
    let cancellation = Function.prototype;
    let promise = this.requests.slice(0, -1)
      .reduce((promise, request) => {
        if (typeof request === 'object') {
          return promise.then(request.onFulfilled || (response => response), request.onRejected);
        } else {
          return promise.then(response => {
            const { promise, cancellation: c } = request(response).get({ cancellable: true, rejectOnAbort });
            cancellation = c;
            return promise;
          });

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…