コード例 #1
1
ファイル: App.js プロジェクト: marco-ponds/Mage
 loadScene = (url) => {
     if (getWindow()) {
         return fetch(url)
             .then(res => res.json())
             .then(this.parseScene)
             .catch(() => Promise.resolve());
     }
     return Promise.resolve();
 }
コード例 #2
0
ファイル: TrackerStoreStore.js プロジェクト: Feverqwe/tSearch
    fetch: flow(function* () {
      if (self.state === 'pending') return;
      const {download_url: url, html_url, fileType} = self;
      self.state = 'pending';
      try {
        let code = yield fetch(url).then(async (response) => {
          if (!response.ok) {
            throw new Error('Response is not ok');
          }

          const text = await response.text();
          if (fileType === 'json') {
            const jsonCodeToUserscript = (await import("../tools/jsonCodeToUserscript")).default;
            return jsonCodeToUserscript(text);
          } else {
            return text;
          }
        });
        let meta = getTrackerCodeMeta(code);
        if (!meta.downloadURL) {
          meta.downloadURL = url;
          code = setCodeMeta(code, meta);
        }
        if (isAlive(self)) {
          self.meta = meta;
          self.code = code;
          self.state = 'done';
        }
      } catch (err) {
        logger.error('fetch code error', url, err);
        if (isAlive(self)) {
          self.state = 'error';
        }
      }
    }),
コード例 #3
0
ファイル: TrackerStoreStore.js プロジェクト: Feverqwe/tSearch
 yield Promise.all(rootStore.options.options.repositories.map((url) => {
   return fetch(url).then((response) => {
     if (!response.ok) {
       throw new Error('Response is not ok');
     }
     return response.json();
   }).then((data) => {
     const files = Files(data);
     const results = files.filter((file) => {
       if (file.type === 'file') {
         if (/\.(js)$/i.test(file.name)) {
           file.fileType = 'js';
           return true;
         } else
         if (/\.(json)$/i.test(file.name)) {
           file.fileType = 'json';
           return true;
         }
       }
       return false;
     });
     if (isAlive(self)) {
       self.putResults(results);
     }
   }).catch((err) => {
     logger.error('fetch repo error', url, err);
   });
 }));
コード例 #4
0
ファイル: SearchFormStore.js プロジェクト: Feverqwe/tSearch
  const fetchGoogleSuggestions = value => {
    const controller = new AbortController();

    const promise = fetch('http://suggestqueries.google.com/complete/search?' + qs.stringify({
      client: 'firefox',
      q: value
    }), {
      signal: controller.signal
    }).then(response => {
      if(response.ok) {
        return response.json();
      } else {
        throw new StatusCodeError(response.status, null, null, response);
      }
    }).then(body => {
      return body[1];
    });

    promise.abort = () => {
      controller.abort();
    };

    return promise;
  };
コード例 #5
0
import { fetch, Headers } from "whatwg-fetch";
import Immutable from "immutable";

export default {

    async search(term) {
        let headers = new Headers();
    	headers.append("Accept", "application/json");
        headers.append("Content-Type",  "application/json");

    	let query = JSON.stringify({ q: term });

    	let response = await fetch(
			"https://api.github.com/search/repositories?q=" + encodeURIComponent(term),
			{
				method: "get",
				headers
			}
		);

    	if (response.status < 200 || response.status >= 300) {
    		throw new Error(response.statusText);
    	}

    	response = Immutable.fromJS(await response.json());

    	return response.get("items");
    }

}