将字符串连接到promise

时间:2018-06-07 04:26:37

标签: javascript promise bluebird jscript

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

我们说我有

function BaseUrl() {        
    return new Promise(function(resolve, reject) { return some_string;
  });
}

我正在使用以下功能(BaseUrl()):

function FirstChar() {
    return new Promise(function(resolve, reject) { return BaseUrl() + "some/suffix";
  });
}

如何将字符串连接到承诺?

3 个答案:

答案 0 :(得分:2)

你会company_id

resolve

修改 你也可以将它缩短到这个

function FirstChar() {
    return new Promise(function(resolve, reject) { resolve(BaseUrl() + "some/suffix");
  });
}

编辑第二个 在第二个承诺中使用第一个承诺的价值。见async await

function FirstChar() {
    return Promise.resolve(BaseUrl() + "some/suffix");
  });
}

答案 1 :(得分:2)

使用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))

答案 2 :(得分:0)

不知道为什么你的第二个函数被调用FirstChar ...忽略它,你的意思是

function FirstChar(baseUrlPromise) {
  return baseUrlPromise.then(baseUrl => baseUrl + "some/suffix");
}

function FirstChar() {
  return BaseUrl().then(baseUrl => baseUrl + "some/suffix");
}

b / c那些的返回类型是 a(字符串)Promise。