我不明白诺言。我知道Promise是可以成功完成也可以错误完成的对象。promises可以很好地执行异步函数,也可以通过then
连接其他异步函数。promise的结果作为参数传递给最后执行的promise的then
方法中的回调函数(如果promise以正确的方式结束)。
这个例子不起作用。我正在模拟一个通过setTimeout的异步调用。我的函数返回一个整数。我期望在prom2
考试中得到5分。为什么不起作用?我做错了什么?为什么?
var getProductId = function(){
setTimeout(function () {
return 5;
}, 1500);
};
var prom2 = Promise.resolve(getProductId);
prom2.then(function(result){
console.log("5 = " + result);
});
我也试过了:
var getProductId = function(){
setTimeout(function () {
return 5;
}, 1500);
};
var prom2 = Promise.resolve(getProductId());
prom2.then(function(result){
console.log("5 = " + result);
});
注意:我想使用Promise.resolve
而不是new Promise
。
https://stackoverflow.com/questions/52883753
复制相似问题