program story

프라 미스 함수에 매개 변수를 전달하는 방법

inputbox 2020. 9. 24. 07:49
반응형

프라 미스 함수에 매개 변수를 전달하는 방법


이것은 어리석은 질문처럼 보일지 모르지만 나는이 주제의 초보자입니다. 노드 js에 대한 약속 작업 중입니다. 그리고 매개 변수를 promise 함수에 전달하고 싶습니다. 그러나 나는 그것을 알아낼 수 없었다.

someModule.someFunction.then(username, password,function(uid) {
  /*stuff */
}

기능은 다음과 같습니다.

var someFunction = new Promise(username, password, function(resolve, reject) {
  /*stuff using username, password*/
  if ( /* everything turned out fine */ ) {
    resolve("Stuff worked!");
  } else {
    reject(Error("It broke"));
  }
});

Promise를 함수 안에 넣지 않으면 즉시 작업을 시작합니다. 또한 매개 변수를 함수에 전달할 수 있습니다.

var someFunction = function(username, password) {
  return new Promise(function(resolve, reject) {
    /*stuff using username, password*/
    if ( /* everything turned out fine */ ) {
      resolve("Stuff worked!");
    } else {
      reject(Error("It broke"));
    }
  });
}

그런 다음 사용하십시오.

someModule.someFunction(username, password).then(function(uid) {
  /* stuff */
})

 

ES6 :

const someFunction = (username, password) => {
  return new Promise((resolve, reject) => {
    /*stuff using username, password*/

    if ( /* everything turned out fine */ ) {
      resolve("Stuff worked!");
    } else {
      reject(Error("It broke"));
    }
  });
};

사용하다:

someModule.someFunction(username, password).then(uid => {
  /* stuff */
});

또 다른 방법:

var promise1 = new Promise(function(resolve, reject) {
  resolve('Success!');
});
var extraData = 'ImExtraData';
promise1.then(function(value) {
  console.log(value, extraData);
  // expected output: "Success!" "ImExtraData"
}, extraData);


.bind ()를 사용하여 param ( this )를 함수 에 전달할 수 있습니다 .

var someFunction =function(resolve, reject) {
  /* get username, password*/
  var username=this.username;
  var password=this.password;
  if ( /* everything turned out fine */ ) {
    resolve("Stuff worked!");
  } else {
    reject(Error("It broke"));
  }
}
var promise=new Promise(someFunction.bind({username:"your username",password:"your password"}));

참고 URL : https://stackoverflow.com/questions/35318442/how-to-pass-parameter-to-a-promise-function

반응형