2017-05-29 16 views
-2

私は現在、反応しているネイティブのアプリケーションに取り組んでいます。私は独自のモジュールを書いて、コンポーネントから分離した情報を保存しました。。ノードモジュールの.then()が機能しません。

私は私が作成した私のモジュールでは、私はこのような機能を持っていたことに気づいたことをやっている間:私は次のようでした私のメインモジュールで

testFetch = function(url){ 
return fetch(url); 
} 

exports.test = testFetch; 

import ts from 'test-module' 

ts.test("http://example.com").then((response) => {console.log(response)}); 

しかし.then何らかの理由で解雇されていません。その要求は成功し、成功しました。

これに関する助力?

+0

例でmisnamingは現実の生活から来ていないことを確認して(としてくださいしてくださいそれを修正してください)。 – Etki

+1

'catch'ハンドラを追加します。あなたはたぶんエラーがあり、 'catch 'がないので無視されます。 – Kryten

+0

'exports.test = testFetch'では、' testFetch'がどこに定義されているのかを表示せず、インポートすると 'ts.test()'の代わりに 'ts.testFetch()'を使ってみます。あなたの名前の使用と名前の使用はすべて失敗です。 – jfriend00

答えて

1

問題は、CommonJSとES6モジュールを混在させる方法です。あなたの例のメインモジュールのtsがあなたのモジュールの依存関係にあるexport全体の値を与えると予想されるようですが、それはどのように動作するのでしょうか。

あなたがそうのように、あなたのtestFetch機能をエクスポートするexport defaultを使用することができます。

testFetch = function (url) { 
    return fetch(url); 
} 

export default testFetch; 

メインモジュール:

import testFetch from 'test-module'; 

testFetch("http://example.com").then((response) => {console.log(response)}); 
関連する問題