だから、リクエストプロミスのドキュメントを見て、これが私が持っているものです
_function get_data_id(searchValue) {
rp('http://example.com?data=searchValue')
.then(function(response) {
return JSON.parse(response).id;
});
}
_
そして、このコードをスクリプトの他の場所で使用します
console.log(get_data_id(searchValue));
ただし、undefined
を返します。
return JSON.parse(response).id
をconsole.log(JSON.parse(response).id)
に変更すると、次のようになります。
_undefined
valueofID
_
したがって、私が返そうとしている値は間違いなく有効/正しいですが、値として返す方法がわかりません。
約束を発信者に返す必要があります。
function get_data_id(searchValue) {
return rp('http://example.com?data=searchValue')
.then(function(response) {
return JSON.parse(response).id;
});
}
次に、次のように関数を使用します。
get_data_id('hello').then(function (id) {
console.log('Got the following id:', id)
})
リクエストプロミスがプロミスを返すからだと思います。
したがって、戻り値を直接console.logにすると、promiseがまだ解決されていないため、未定義になります。