我想拒绝我没有建立的承诺。也就是说,我阅读的示例描述了类似的内容:
const sample = new Promise((resolve,reject) => {
setTimeout(() => {
reject('fail promise');
},1000);
});
在1秒后拒绝sample
。就我而言,我想拒绝的诺言是通过外部api调用来实现的,所以我不能以这种方式拒绝。
我已阅读的另一种方法显示了如何将诺言与其他使用setTimeout拒绝新诺言的包裹。像这样:
const timeout = new Promise(function(resolve,reject) {
setTimeout(resolve,1000,'one');
});
const sample = new Promise(function(resolve,5000,'two');
});
return Promise.race([sample,timeout]);
在1s返回另一个诺言之后,该力“拒绝” sample
。这可以用来设置超时时间,但实际上它不会拒绝sample
,只会返回另一个诺言,并且原始请求会继续运行,直到拒绝或解决自己。
我找不到没有图书馆怎么能正确拒绝诺言