private void handleRequests()

in oss-20190517/src/main/java/com/aliyun/sdk/service/oss20190517/paginator/async/ResponseSubscription.java [52:80]


    private void handleRequests() {
        if (!hasNextPage()) {
            completeSubscription();
            return;
        }

        synchronized (this) {
            if (requestN.get() <= 0) {
                stopTask();
                return;
            }
        }

        if (!isTerminated()) {
            requestN.getAndDecrement();
            nextPageFetcher.nextPage(currentPage)
                    .whenComplete(((response, error) -> {
                        if (response != null) {
                            currentPage = response;
                            subscriber.onNext(response);
                            handleRequests();
                        }
                        if (error != null) {
                            subscriber.onError(error);
                            cleanup();
                        }
                    }));
        }
    }