0
私は約束オブジェクトを返す関数を持っています。これは私が機能foo
が約束オブジェクトを返しますし、私は、文字列「こんにちは」を得るだろうと思った私のコードJavaScriptでPromiseを使用するときに奇妙なものがあります
var foo = function(){
// doSomething() is a promise object
return doSomething().then(() => {
Promise.resolve('Hello');
});
};
foo().then((res) => {
console.log(res);
// res = undefined but not "Hello"
});
です。しかし、私は未定義になる。どうして?
「Promise.resolve」の前に 'return'がありません。しかし実際には、これはまったく必要なく、 'Hello'という文字列を返すことができます。 '{} 'を省略して' .then(()=>' Hello ') 'と言うだけで、簡略化したarrow関数の本体形式を使うことでさらに簡単にすることができます。 –
ありがとう、それは動作し、よく見えます。 –
'doSomething'メソッドを表示してもらえますか? – timothyclifford