哪个更好:使用await and try和catch,还是使用.then和.catch?
嗨,伙计们,
这两种方法中哪一种更好?
app.post("/signup", (req, res) => {
var user = new User(req.body)
user.save().then(result => {
res.status(200).send("success")
}).catch(error => {
console.log(error)
res.send(error)
})
});
app.post("/signupasync", async (req, res) => {
try {
var user = new User(req.body)
await user.save()
res.status(200).send("success")
} catch (error) {
console.log(error)
res.send(error)
}
发布于 2019-07-04 14:12:57
Async/await
实际上只是一个构建在promises
之上的syntax sugar
。它不能与普通callbacks
或node callbacks
一起使用。
它就像promises
,non blocking
,但使asynchronous
代码在外观和行为上更像synchronous
代码。这就是它的强大之处,这就是它所有的力量所在。
如果你使用async/await
,你不会有太多的缩进。所有的代码都是线性的,可读性更好。
使用promise (.then().catch(0))
可以实现的任何†都可以使用async/await.
实现
任何async
函数都隐式返回一个promise
,promise的解析值将是您从该函数返回的值。即使您返回一个简单的值而不是promise
,它也会在返回之前将其包装在promise
中。
https://stackoverflow.com/questions/56888993
复制