在ES6中,如何将额外的参数传递给.then()调用中的函数?

时间:2016-01-24 20:49:38

标签: javascript ecmascript-6 es6-promise

如果我有以下设置:

function entryPoint (someVariable) {

  getValue(arg)
    .then(anotherFunction)
}

function anotherFunction (arg1) {
}

如何在someVariable中提供anotherFunction

2 个答案:

答案 0 :(得分:1)

你可以试试这个。

function entryPoint (someVariable) {
  getValue(arg)
    .then(anotherFunction(someVariable))
}

function anotherFunction(someVariable) {
  return function(arg1) {
  }
}

答案 1 :(得分:0)

您可以使用.bind传递额外参数,如果您想传递上下文,请不要使用null并传递this或其他内容。但是在传递上下文之后,将您期望的其他值作为anotherFunction中的参数传递。

function entryPoint (someVariable) {

  getValue(arg)
    .then(anotherFunction.bind(null, 1, 2))
}

function anotherFunction (something, other, arg1) {
  // something = 1
  // other = 2
  // the returned value from the promise will be set to arg1
}