在我的scala计划中,我很少进行理解。我希望像这样有一个if条件,
user <- userDao.findUser(authToken)
haveDevice <- userDao.haveDevice(deviceId, deviceType)
if (haveDevice) {
r <- userDao.addDevice(user.id, deviceId, deviceType)
}
但是上面的代码无效,怎么办呢?感谢
答案 0 :(得分:0)
在for comprehension中使用if条件的正确语法如下所示。
for {
user <- userDao.findUser(authToken)
haveDevice <- userDao.haveDevice(deviceId, deviceType)
r <- userDao.addDevice(user.id, deviceId, deviceType) if haveDevice
}
假设你的理解是对Future进行操作,如果if条件失败则整个理解返回失败的Future并出现错误
java.util.NoSuchElementException:Future.filter谓词不是 纳