在我的代码中,我正在获取数据,然后像这样处理其中的JSON:
new BluebirdPromise((resolve, reject) => {
fetch(url)
.then(response => {
response.json().then(data => ({
resolve();
})
})
.catch(console.log);
});
这给了我一个警告:
警告:在处理程序中的处理程序中创建了一个Promise,但从未 从它回来
即使我这样做,我仍然会收到警告:
return fetch(url)
.then(response => {
return response.json().then(data => ({
resolve();
//to make sure warning will not show up
return null;
})
})
.catch(console.log);
我在这里想念东西吗?
我创建蓝鸟承诺的原因是因为我需要取消请求的能力。在这个承诺中,我有一个创建另一个承诺(不可取消)的访存。除此之外,在获取解析后,我还有其他逻辑,该逻辑分析返回的结果并解析或拒绝BluebirdPromise。这仍然会产生警告:
return new BluebirdPromise((resolve, reject) => {
return fetch(EndPoint, {})
.then(() => {
return resolve(1);
})
.catch();
});
}