相关疑难解决方法(0)

如何在.then()链中访问先前的promise结果?

我已经将我的代码重组为承诺,并构建了一个由多个回调组成的精彩长扁平承诺链.then().最后我想返回一些复合值,并且需要访问多个中间承诺结果.但是,序列中间的分辨率值不在最后一个回调的范围内,我该如何访问它们?

function getExample() {
    return promiseA(…).then(function(resultA) {
        // Some processing
        return promiseB(…);
    }).then(function(resultB) {
        // More processing
        return // How do I gain access to resultA here?
    });
}
Run Code Online (Sandbox Code Playgroud)

javascript scope promise bluebird es6-promise

607
推荐指数
10
解决办法
18万
查看次数

fetch()。then()返回内容类型和主体

互联网上的每个提取API示例都展示了如何使用response.json(),response.blob()等仅返回主体。我需要的是同时调用内容类型和主体为blob的函数,而我无法弄清楚该怎么做。

fetch("url to an image of unknown type")
  .then((response) => {
    return {
      contentType: response.headers.get("Content-Type"),
      raw: response.blob()
  })
  .then((data) => {
    imageHandler(data.contentType, data.raw);
  });
Run Code Online (Sandbox Code Playgroud)

这显然行不通:data.contentType已填充,但data.raw是一个承诺。如何在相同的上下文中获得两个值?

javascript fetch promise

2
推荐指数
2
解决办法
1472
查看次数

标签 统计

javascript ×2

promise ×2

bluebird ×1

es6-promise ×1

fetch ×1

scope ×1