我试图理解JavaScript中的承诺。
对于我的示例场景,我想编写一个方法,该方法从本地" Cache"返回数据。如果可用或进行HTTP调用以从服务器检索数据。即使没有进行异步调用,我总是希望返回一个promise,以便我的JS函数的用户拥有统一的API。我怎样才能在Javascript中实现这一点。我在ES 5。
答案 0 :(得分:1)
你想要它们Promise.resolve
函数,它会立即解析一个值。由于您使用的是es5,您可以使用像Bluebird这样的promise库,也可以使用像Babel这样的转换程序将ES6编译为ES5。
答案 1 :(得分:0)
第一个承诺是ES-6 / ecma2015功能,所以你必须使用像babel https://babeljs.io/这样的东西,或者更好的是你可以使用这个pollyfill https://github.com/getify/native-promise-only。
var promise = getValue();
promise.then('do your stuff here ');
function getValue(){
return new Promise(function executor(resolve,error){
getData(resolve); // call your function that gets the data.
});
}