将字符串连接到 Promise
concatenate a string to a promise
我如何将此承诺包含在字符串中?
假设我有
function BaseUrl() {
return new Promise(function(resolve, reject) { return some_string;
});
}
我在下面使用上面的函数 (BaseUrl()
):
function FirstChar() {
return new Promise(function(resolve, reject) { return BaseUrl() + "some/suffix";
});
}
如何将字符串连接到 Promise?
你会resolve
它
function FirstChar() {
return new Promise(function(resolve, reject) { resolve(BaseUrl() + "some/suffix");
});
}
编辑
你也可以缩短到这个
function FirstChar() {
return Promise.resolve(BaseUrl() + "some/suffix");
});
}
编辑第二个
在第二个承诺中使用第一个承诺的价值。参见 async await
function BaseUrl() {
return Promise.resolve(some_string);
}
// using async await
async function FirstChar() {
const baseurl = await BaseUrl()
return Promise.resolve(baseurl + "some/suffix";
}
仅对 return 字符串使用 Promise
没有多大意义,但如果您愿意,则必须将字符串(和连接的字符串)传递到每个 resolve
:
function BaseUrl() {
return new Promise(function(resolve) {
resolve('some_string');
});
}
function FirstChar() {
return BaseUrl()
.then(baseUrlStr => {
return new Promise(function(resolve) {
resolve(baseUrlStr + "some/suffix");
});
})
}
FirstChar().then(fullURL => console.log('got ' + fullURL))
不知道为什么你的第二个函数被称为 FirstChar
...忽略它,你是说
function FirstChar(baseUrlPromise) {
return baseUrlPromise.then(baseUrl => baseUrl + "some/suffix");
}
或
function FirstChar() {
return BaseUrl().then(baseUrl => baseUrl + "some/suffix");
}
b/c return 类型 是 一个(字符串)Promise。
我如何将此承诺包含在字符串中?
假设我有
function BaseUrl() {
return new Promise(function(resolve, reject) { return some_string;
});
}
我在下面使用上面的函数 (BaseUrl()
):
function FirstChar() {
return new Promise(function(resolve, reject) { return BaseUrl() + "some/suffix";
});
}
如何将字符串连接到 Promise?
你会resolve
它
function FirstChar() {
return new Promise(function(resolve, reject) { resolve(BaseUrl() + "some/suffix");
});
}
编辑 你也可以缩短到这个
function FirstChar() {
return Promise.resolve(BaseUrl() + "some/suffix");
});
}
编辑第二个 在第二个承诺中使用第一个承诺的价值。参见 async await
function BaseUrl() {
return Promise.resolve(some_string);
}
// using async await
async function FirstChar() {
const baseurl = await BaseUrl()
return Promise.resolve(baseurl + "some/suffix";
}
仅对 return 字符串使用 Promise
没有多大意义,但如果您愿意,则必须将字符串(和连接的字符串)传递到每个 resolve
:
function BaseUrl() {
return new Promise(function(resolve) {
resolve('some_string');
});
}
function FirstChar() {
return BaseUrl()
.then(baseUrlStr => {
return new Promise(function(resolve) {
resolve(baseUrlStr + "some/suffix");
});
})
}
FirstChar().then(fullURL => console.log('got ' + fullURL))
不知道为什么你的第二个函数被称为 FirstChar
...忽略它,你是说
function FirstChar(baseUrlPromise) {
return baseUrlPromise.then(baseUrl => baseUrl + "some/suffix");
}
或
function FirstChar() {
return BaseUrl().then(baseUrl => baseUrl + "some/suffix");
}
b/c return 类型 是 一个(字符串)Promise。