javascript - 解释为什么这个解决方案不会返回一个承诺?JS
问题描述
我似乎无法弄清楚为什么这不起作用,第一个例子工作得很好。对第二个示例重复相同的解析方法不起作用?我已经尝试了文档中的所有内容,但不知道为什么,它总是返回一个空的 {},是的,它在本地函数中的 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)
}))
解决方案
推荐阅读
- java - Camunda 测试部署注释未部署
- php - 如何使用 php 检索 JSON 数据的值
- web-component - 覆盖从 lit 元素中的 parentComponent 扩展的渲染方法
- amazon-quicksight - 如何将 quicksight 仪表板嵌入到 React 应用程序中
- php - 在 Eclipse 中创建远程项目时出错
- sql - SSIS 将 GetDate()-1 转换为 EPOCH
- r - 更改 ggplotly 对象内文本注释的字体大小
- java - Kafka Consumer Coordinator 连接问题,Kafka 0.11.0.3
- reactjs - Expo 身份验证错误 getaddrinfo ENOTFOUND 3128 3128:80
- oracle - BI Publisher 插件中的 Excel 预览打开错误的文件