无法将探测功能结果分配给newItem对象中的w键。
有什么建议吗?
router.post('/', (req, res) => {
const newItem = new Item({
src: req.body.src,
w: probe(req.body.src, function (err, result) {
return result.width
// console.log(result.width)
})
});
probe
似乎是异步的,因此该代码将无法工作。推荐的方法是使用Promise
和async/await
。没有看到probe
定义,我无法为您提供实现,但是如果您不知道如何将其转换为Promise
,则只需使用util.promisify
const { promisify } = require('util')
const probe = promisify(require('./probe')) // or whatever module
router.post('/', async(req, res) => {
try {
const { witdth } = await probe(req.body.src);
const newItem = new Item({
src: req.body.src,
w: witdth
});
} catch(e) {
// Handle error
res
.status(500)
.send('error')
}
})