假设我们有一个承诺:
const aPromise = new Promise(()=>{console.log('promise executed');})
只需分配此Promise,执行它,并在控制台上显示:
promise executed
当我调用aPromise时,它没有登录到控制台,console.log(aPromise)的结果表明已解决。
我的问题是,如何在不执行/解决的情况下分配一个Promise,所以我可以多次调用它?
答案 0 :(得分:3)
您可以将其包装在这样的函数中:
const getPromise = () => new Promise((resolve,reject) => {
console.log('Promise executed')
resolve()
})
现在您可以多次调用它:
getPromise().then(() => { // do something })
答案 1 :(得分:1)
您可以简单地从函数返回一个承诺并将其分配给变量
function returnpromise(val) {
return new Promise((resolve, reject) => {
if (val > 5) {
resolve("resolved hello"); // fulfilled
}
else {
reject("rejected"); // rejected
}
});
}
let prom=returnpromise(6);// assign promise to variable prom
console.log(prom) // returns Promise { 'resolved' }
// to get the data use it many times
prom.then(a=>console.log(a));
答案 2 :(得分:-1)
Promise()中没有输入参数:
# Read function
def get_df2(file):
mydata2 = []
for chunk in pd.read_csv(file,chunksize=500000,header = None,sep='\t'):
mydata2.append(chunk)
user_data = pd.concat(mydata2,axis=0)
names2=['user_id','age','gender','area','status']
user_data.columns = names2
return user_data
# read
user_data_path = 'a_url'
user_data = get_df2(user_data_path)
user_data.head()
在Promise(参数)中带有输入参数
function Promise() {
console.log('promise executed');
}
const aPromise = new Promise();
注意:在Javascript中未使用运算符“ =>”,在C / C ++中使用了运算符“ =>”,请参见此处的更多信息: