Я не могу понять, почему это не сработает, первый пример работает отлично. Повторение того же метода разрешения для второго примера не работает? Я попробовал все в документации и не могу понять, почему, он всегда возвращает пустой {}, и да, это прекрасно. Console.logs в локальной функции.
Пример 1 Это прекрасно работает отлично, результат возвращает URL-ссылку в консоли
function searchStockx(searchText){
return new Promise((resolve, reject) => {
request({
method: "POST",
url: "https://xw7sbct9v6-dsn.algolia.net/1/indexes/products/query",
headers: stockxheaders,
qs: stockxalgolia,
json: {"params":"query=" + searchText + "&facets=*&filters="}
},
function(err, res, body){
let stockXurl = body.hits[0].url
resolve(stockXurl)
})
})
}
app.post('/', (async(req, res) => {
searchText = (req.body.input)
result = await searchStockx(searchText)
res.send(result
}))
Пример 2 То же разрешение, что и выше, только разные переменные, возвращает пустой {} (не определено) в терминале
function getGoatSize(slug){
return new Promise((resolve, reject) => {
request({
method: "GET",
url: "https://www.goat.com/api/v1/product_templates/" + slug + "/show_v2",
headers: goatGETHeaders
},
function(err, res, body){
let json = JSON.parse(body)
let goatSizes = json.availableSizesNewV2
let goatPic = json.pictureUrl
resolve(goatPic)
})
})
}
app.post('/', (async(req, res) => {
searchText = (req.body.input)
searchStockx(searchText)
result = await getGoatSize(goatPic)
res.send(result)
}))