将字符串连接到承诺



如何在字符串中包含此承诺?

假设我有

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 这些返回类型(字符串(承诺。

最新更新