2017-02-09 2 views
0

私はjavascriptビルドスタックを初めて使用しています。 申し訳ありませんが、私の質問のタイトルが他の質問と同じように見えるかもしれませんが、私の質問に答えるものは見つかりませんでした。Node.jsのスーパーエージェントajaxライブラリの使用

現在+ Reduxのを反応させ、このチュートリアル以下の学習:

'use strict'; 

import superagentPromise from 'superagent-promise'; 
import _superagent from 'superagent'; 

const superagent = superagentPromise(_superagent, global.Promise); 

const API_ROOT = 'https://conduit.productionready.io/api'; 

const responseBody = res => res.body; 

const requests = { 
    get: url => 
    superagent.get(`${API_ROOT}${url}`).then(responseBody) 
}; 

const Articles = { 
    all: page => 
    requests.get(`/articles?limit=10`) 
}; 

export default { 
    Articles 
}; 

実際の質問:

  1. なぜsuperagent-promiseを使用https://thinkster.io/tutorials/react-redux-ajax-middleware

    ここで問題のコードですか? superagentはこれを述べていません:

    ES6の約束がサポートされています。代わりに.end()のあなたは、このglobal.Promiseから来るん.then()

  2. を呼び出すことができますか?私はglobal.Promise = require('some-promise-library')とAFAIK Nodeのようなものは書いていません。デフォルトはglobal.Promiseです。私はここで何が欠けていますか?

答えて

0

trueを返します。あなたが0.10のようなノードのスーパー古いバージョンを使用していないと仮定すると、Promiseのサポートがあります。

以前はスーパーエージェントの約束が必要でしたが、それはもはや最新バージョンのスーパーエージェントではなくなりました。スーパーエージェントを単独で使用し、組み込みの約束サポートを使用してください。

クライアントでsuperagentを使用する必要がある場合、promif polyfillは古いブラウザ(babel-polyfillなど)をサポートするように機能します。

+0

はい私はノードのスーパー古いバージョンを使用していない(正確なバージョンを忘れて、私は今、私のdevマシンではない、申し訳ありません)。だから、 'global.Promise'は実際にはNode's Promiseのサポートですか?もう1つの質問ですが、私はこれをサーバー上で使用していることをどのように認識していますか?私はノードの初心者です –

+0

ブラウザには存在しない「グローバル」の使用。 –

-1
  1. あなたが約束をサポートしてたSuperAgentを使用する場合は、そのたSuperAgent-約束ラッパーモジュールを必要としています。それはすべてです

  2. PromiseはNode.jsによってネイティブにサポートされており、グローバルにアクセス可能です。
    すべてのグローバルオブジェクトは、プロセス、setTimeoutなどのように読み込まずに使用できます。ネイティブプロミスを使用する場合は、グローバルなしでプロミスを使用できます。

    Object.prototype.hasOwnProperty.callは(グローバル '約束')これは、サーバー上でこれを使用しているように見えます

+0

ES6を使用している場合は、スーパーエージェントのサポートを約束する必要はありません。 – therewillbecode

+0

スーパーエージェントはノード・モジュールなので、スーパーエージェントを使用する際に特別なライブラリが必要であると約束していると言えば、自分自身と矛盾しませんか? – therewillbecode

+0

さて、このnpm [link](https://www.npmjs.com/package/superagent-promise)を見てください。これは、スーパーエージェントのための約束ラッパーです。あなたはスーパーエージェントとお気に入りのPromiseライブラリに直接依存しなければなりません。それで、あなたはどう思いますか? – Mia

関連する問題