반응형
프라 미스 함수에 매개 변수를 전달하는 방법
이것은 어리석은 질문처럼 보일지 모르지만 나는이 주제의 초보자입니다. 노드 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
반응형
'program story' 카테고리의 다른 글
Composer에는 로컬 패키지가 필요합니다. (0) | 2020.09.24 |
---|---|
매개 변수가있는 기본 클래스 생성자를 통한 상속 (0) | 2020.09.24 |
IRB에서 .rb 파일을 실행하는 방법은 무엇입니까? (0) | 2020.09.24 |
git 하위 모듈을 제거하는 현재 방법은 무엇입니까? (0) | 2020.09.24 |
C / C ++에서 long long (0) | 2020.09.24 |