我可以从外部解决 Promise 吗?
Can I resolve a Promise from the outside?
使用 ES2015,我可以从外部解决承诺,即在创建后触发解决方案吗?
喜欢
const promise = new Promise();
promise.then(() => foo());
promise.resolve(); // foo() gets executed
是的,你可以。
let resolvePromise = null;
const promise = new Promise(resolve => resolvePromise = resolve);
promise.then(foo => console.log(foo));
resolvePromise('bar');
当然可以。只需在外部引用函数并调用它即可。
由于函数是对象(作为引用存储在变量中),我们可以在将引用引用到外部后从外部调用 resolve 函数。
var a;
function b(){
var c = new Promise( function(resolve, reject){
a=resolve;
});
return c;
}
b().then((data) => {
console.log(data);
}
);
a("hai");
使用 ES2015,我可以从外部解决承诺,即在创建后触发解决方案吗?
喜欢
const promise = new Promise();
promise.then(() => foo());
promise.resolve(); // foo() gets executed
是的,你可以。
let resolvePromise = null;
const promise = new Promise(resolve => resolvePromise = resolve);
promise.then(foo => console.log(foo));
resolvePromise('bar');
当然可以。只需在外部引用函数并调用它即可。 由于函数是对象(作为引用存储在变量中),我们可以在将引用引用到外部后从外部调用 resolve 函数。
var a;
function b(){
var c = new Promise( function(resolve, reject){
a=resolve;
});
return c;
}
b().then((data) => {
console.log(data);
}
);
a("hai");