如何在字符串中包含此承诺?
假设我有
function BaseUrl() {
return new Promise(function(resolve, reject) { return some_string;
});
}
我在下面使用上述功能(BaseUrl()
(:
function FirstChar() {
return new Promise(function(resolve, reject) { return BaseUrl() + "some/suffix";
});
}
如何将字符串连接到承诺?
你会resolve
它
function FirstChar() {
return new Promise(function(resolve, reject) { resolve(BaseUrl() + "some/suffix");
});
}
编辑您也可以将其缩短到此
function FirstChar() {
return Promise.resolve(BaseUrl() + "some/suffix");
});
}
编辑第二个在第二个承诺中使用第一个承诺的值。 请参阅异步等待
function BaseUrl() {
return Promise.resolve(some_string);
}
// using async await
async function FirstChar() {
const baseurl = await BaseUrl()
return Promise.resolve(baseurl + "some/suffix";
}
仅仅使用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 这些返回类型是(字符串(承诺。