Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建es6中尚未解决的承诺_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript 创建es6中尚未解决的承诺

Javascript 创建es6中尚未解决的承诺,javascript,ecmascript-6,Javascript,Ecmascript 6,我希望创造一个尚未解决的承诺。 我会创造这个承诺,并有一些流程等待解决。只有当我真的为我正在打的电话分配另一个承诺时,它才会得到解决。但一开始,我所有的过程都会永远等待这个承诺,直到我重新分配它。我如何才能做到这一点与ES6的承诺 我知道我可以通过以下方式创建已解决的承诺: Promise.resolve('') 因此,情况正好相反。您可以这样做: const promise = new Promise((resolve, reject) => { // If you want t

我希望创造一个尚未解决的承诺。 我会创造这个承诺,并有一些流程等待解决。只有当我真的为我正在打的电话分配另一个承诺时,它才会得到解决。但一开始,我所有的过程都会永远等待这个承诺,直到我重新分配它。我如何才能做到这一点与ES6的承诺

我知道我可以通过以下方式创建已解决的承诺:

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){
日志(“承诺被拒绝”,错误)
});