我有一个函数,它生成 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/