javascript - 将返回 foo 的 promise 映射到另一个返回 bar 的 promise ?

标签 javascript vue.js axios es6-promise

我有一个函数,它生成 XMLHttpRequest 并返回带有请求响应的 promise 。

但是我想返回一个仅包含响应中的一个字符串的 promise 。

例如,我不想返回解析为 response = {status, data} 等的 promise ,而是只返回 response.data.some_field

我该怎么做?

最佳答案

如果你在一个promise上调用.then,你将产生另一个promise,它将解析为你在回调函数中返回的任何内容。因此,请接受您正在创建的当前 promise ,然后添加以下内容:

.then((response) => {
  return response.data.some_field;
});

所以完整的函数可能如下所示:

function getStuff() {
   return new Promise((resolve, reject) => {
     //somethingWithXMLHttpRequest      
   }).then((response) => {
      return response.data.some_field;
   });
}

关于javascript - 将返回 foo 的 promise 映射到另一个返回 bar 的 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55891390/

相关文章:

javascript - 为什么 previousSibling 不起作用?

javascript - 拉拉维尔 5 : Get the default value of my select option with onChange event using Vue js

node.js - Google Recaptcha 无法与 axios 一起使用

javascript - 如何通过 react 在 axios 中设置多部分?

javascript - 延迟加载 facebook 客户聊天插件 - 我可以强制打开聊天对话吗?

javascript - Mongo 日期范围查询 (GMT)

javascript - Webextension 内联安装 chrome.runtime.connect 问题

javascript - 单击时动态创建 Vue 组件

vue.js - 如何从 registerServiceWorker.js 调用 Vue 应用程序 $refs.components 或 Vuex $store 中的方法?

javascript - 未捕获( promise 中)TypeError : Cannot set property of undefined at eval in vue. js?