2016-08-19 10 views
1

typescriptクラス内でisomorphic-fetchパッケージを使用していて、フェッチAPIの応答の値を返す方法を識別しようとしています。Typescript関数内の `Fetch` API

somefunction(someParam: Int): Int { 
    fetch('myApiURL', { method: 'get'}) 
    .then(function(res) { 
     return res 
    }) 
    .catch(function(ex) { 
     return 0 
    }) 
} 

答えて

2

JavaScriptがシングルスレッドであり、それは返すまで関数はスレッド人質を保持することはできませんので、あなたはIntようを返すことはできません。

somefunction(someParam: number): Promise<number> { 
    return fetch('myApiURL', { method: 'get'}) 
    .then(function(res) { 
     return res 
    }) 
    .catch(function(ex) { 
     return 0 
    }) 
} 

PS:何のintはありませんしかし、あなたは約束、それはとにかくので、何fetchリターンでを返すことができます。 JavaScript/TypeScriptのnumber :)

+0

ありがとうbasarat。その場合、私は約束を解き放ち、価値を得ることができます。 – Rjk

+1

''関数 ''(123).then(val => {/ * val * /}を使用する); '。その他のhttps://basarat.gitbooks.io/typescript/content/docs/promise.html – basarat

関連する問題