私は約束を返す関数に対してapplyメソッドを呼び出していますが、applyメソッドが呼び出された後に応答データを取得することに問題があります。約束事にapply()を使用して約束応答データにアクセスできない
getData(data) {
axios.post('/post/something', data)
.then(res => console.log(res)); // Returns 'Success'
}
callService(args, fn) {
return fn.apply(this, args)
.then(() => this.doSomethingElse())
.then(res => console.log(res)); // Returns undefined
}
callService([1,2], getData);
なぜfn.apply約束ではなく、戻ってサーバから送信されたデータが含まれていますか?これを行う正しい方法は何ですか?
'res'は' this.doSomethingElse() 'を返すその値になります:
または
doSomethingElse
場合が約束を返します。 –また、約束を適用することはできません。あなたは約束を返す関数を呼び出すためにapplyを使用しています。 –
さて、何が起こっているのか分からず、私が達成しようとしていることを説明しようとするのに少し苦労しました。ありがとう。 – hdifen