Javascript 创建es6中尚未解决的承诺
我希望创造一个尚未解决的承诺。 我会创造这个承诺,并有一些流程等待解决。只有当我真的为我正在打的电话分配另一个承诺时,它才会得到解决。但一开始,我所有的过程都会永远等待这个承诺,直到我重新分配它。我如何才能做到这一点与ES6的承诺 我知道我可以通过以下方式创建已解决的承诺:Javascript 创建es6中尚未解决的承诺,javascript,ecmascript-6,Javascript,Ecmascript 6,我希望创造一个尚未解决的承诺。 我会创造这个承诺,并有一些流程等待解决。只有当我真的为我正在打的电话分配另一个承诺时,它才会得到解决。但一开始,我所有的过程都会永远等待这个承诺,直到我重新分配它。我如何才能做到这一点与ES6的承诺 我知道我可以通过以下方式创建已解决的承诺: Promise.resolve('') 因此,情况正好相反。您可以这样做: const promise = new Promise((resolve, reject) => { // If you want t
Promise.resolve('')
因此,情况正好相反。您可以这样做:
const promise = new Promise((resolve, reject) => {
// If you want to resolve:
resolve(optionalParam);
// If you want to reject:
reject(optionalParam);
});
new Promise(function(resolve, reject) {
resolve('some value');
// or
reject('some value');
});
您可以这样做:
const promise = new Promise((resolve, reject) => {
// If you want to resolve:
resolve(optionalParam);
// If you want to reject:
reject(optionalParam);
});
new Promise(function(resolve, reject) {
resolve('some value');
// or
reject('some value');
});
你可以做出这样的承诺:
const promise = new Promise((resolve, reject) => {
// If you want to resolve:
resolve(optionalParam);
// If you want to reject:
reject(optionalParam);
});
new Promise(function(resolve, reject) {
resolve('some value');
// or
reject('some value');
});
函数的resolve
和reject
参数本身就是可以分别用于解析或拒绝承诺的函数。他们都接受一个价值,这将是承诺的解决价值
查看以了解更多信息。您可以创建这样的承诺:
const promise = new Promise((resolve, reject) => {
// If you want to resolve:
resolve(optionalParam);
// If you want to reject:
reject(optionalParam);
});
new Promise(function(resolve, reject) {
resolve('some value');
// or
reject('some value');
});
函数的resolve
和reject
参数本身就是可以分别用于解析或拒绝承诺的函数。他们都接受一个价值,这将是承诺的解决价值
查看以了解更多信息。您可以创建对
承诺
构造函数的解析
、拒绝
的引用
//在'promise'构造函数中分配'promise'的'resolve','reject'函数
让_resolve=_reject=void 0;
让承诺=新承诺(功能(解决、拒绝){
_resolve=resolve;//将'resolve'定义为`\u resolve`到外部作用域
_reject=reject;//在外部范围中将“reject”定义为“U reject”
});
承诺
//当“承诺”决定或拒绝时,做一些事情
.然后(功能处理完成(数据){
console.log(数据)
},函数handleErr(err){
console.log(错误)
});
函数fn(t、res、err、value){
返回新承诺(功能(解决、拒绝){
setTimeout(函数(){
解决()
},Math.floor(Math.random()*t))
})
.然后(函数(){
返回res(值)
})
}
fn(3000,解析,空,“abc”)
//在“承诺”被解决或拒绝后做某事
.然后(函数(){
console.log(“承诺已解决”)
},函数(err){
日志(“承诺被拒绝”,错误)
});代码>您可以创建对Promise
构造函数的resolve
、reject
的引用
//在'promise'构造函数中分配'promise'的'resolve','reject'函数
让_resolve=_reject=void 0;
让承诺=新承诺(功能(解决、拒绝){
_resolve=resolve;//将'resolve'定义为`\u resolve`到外部作用域
_reject=reject;//在外部范围中将“reject”定义为“U reject”
});
承诺
//当“承诺”决定或拒绝时,做一些事情
.然后(功能处理完成(数据){
console.log(数据)
},函数handleErr(err){
console.log(错误)
});
函数fn(t、res、err、value){
返回新承诺(功能(解决、拒绝){
setTimeout(函数(){
解决()
},Math.floor(Math.random()*t))
})
.然后(函数(){
返回res(值)
})
}
fn(3000,解析,空,“abc”)
//在“承诺”被解决或拒绝后做某事
.然后(函数(){
console.log(“承诺已解决”)
},函数(err){
日志(“承诺被拒绝”,错误)
});代码>