【发布时间】:2017-06-21 13:14:04
【问题描述】:
代码在这里:
function square() {
let record = 10;
new Promise(function(resolve, reject) {
// A mock async action using setTimeout
setTimeout(function() { resolve(record); }, 3000);
})
.then(function(data) {
console.log('first then: ', data);
return data * data;
});
return record;
}
function submit() {
// ...
const result = square(); // => still 10
// finalHandler(result);
}
submit();
我使用 setTimeout 来模拟我必须交付的一个异步进程。当我调用提交时,result 传递给finalHandler 仍然是初始值 10。但是我更新的结果是什么,即 100。如何修改 square 和 submit 函数?
【问题讨论】:
-
检查我对这个问题的回答,对你也有用stackoverflow.com/questions/44663680/…
标签: javascript asynchronous ecmascript-6 promise