这个问题的标题可能需要编辑
嗨,我有一种方法,可以返回一个对象,也可以返回一个承诺。其职能如下:
function getAllTypes()
{
if(cache_hit)
return from_cache;
else
{
// db Query
findAllTypes.then(function(result){
return result;
}
}
}此函数将根据情况返回承诺对象或普通JS对象。这是一个实用函数,将在许多不同的地方使用。我希望它的返回类型保持不变,即在这两种情况下都是一个承诺对象或普通JS对象(不需要解析)。
有办法做到这一点吗?
发布于 2016-06-01 05:11:59
如果您的方法可能会做一些异步的事情,那么假设它会这样做--这意味着它总是会返回一个承诺--您可以使用Promise.resolve,即从单个值创建一个承诺
function getAllTypes() {
return cache_hit ? return Promise.resolve(from_cache) : findAllTypes()
}https://stackoverflow.com/questions/37559851
复制相似问题