我似乎无法弄清楚为什么它不起作用,第一个示例可以很好地工作。对第二个示例重复相同的解析方法不起作用?我已经尝试了文档中的所有内容,但不知道为什么,它总是返回一个空的{},是的,它在本地函数中完全可以正常运行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)
}))