我正在查看 PromiseJS和 ES6对于类似于CompletableFuture的东西,但找不到。
有什么建议可以用 javascript 来实现吗?谢谢
注意:Promise.resolve()
不合适,除非您可以先创建 Promise
对象并稍后完成它。
更新
正如所有答案所指出的,正确的方法是使用 Promise
的构造函数:
new Promise((resolve, reject) => { resolve(data); })
最佳答案
Note: Promise.resolve() isn't suitable, unless you can create the Promise object first and complete it later.
您可以使用 Promise
构造函数,在 executor
函数范围之外传递 onFulfilled
、onRejected
参数
var complete, err, now = new Date().getTime();
var promise = new Promise((onFulfilled, onRejected) => {
complete = onFulfilled; err = onRejected;
});
promise.then((data) => {
console.log(data)
});
setTimeout(() => {
complete("promise resolved "
+ (new Date().getTime() - now)
+ " in the future")
}, Math.random() * 3500)
关于Javascript 的 future 会完成吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38015072/