我試圖對我的節點js代碼中的函數進行同步調用。節點js中的同步函數調用
我打電話給我的功能,這樣
set_authentication();
set_file();
function set_authentication(){
---
callback function
---
}
我想,我的set_authentication()函數應首先執行完全,然後set_file()應該開始執行,但set_file()函數開始set_authentication的回調之前執行()。
我曾嘗試使用這種異步也喜歡
async.series(
[
// Here we need to call next so that async can execute the next function.
// if an error (first parameter is not null) is passed to next, it will directly go to the final callback
function (next) {
set_looker_authentication_token();
},
// runs this only if taskFirst finished without an error
function (next) {
set_view_measure_file();
}
],
function(error, result){
}
);
,但它也不起作用。
我試過承諾也
set_authentication().then(set_file(),console.error);
function set_authentication(){
---
callback function
var myFirstPromise = new Promise((resolve, reject) => {
setTimeout(function(){
resolve("Success!");
}, 250);
});
---
}
在這裏我得到這個錯誤: - 無法未定義讀取屬性「然後」。
我是新來的節點和JS。
無極一個不工作,因爲你還沒有返回你創建的承諾,你也有'然後(set_file(),console.error)',臨時工t會立即調用set_file,因爲你有'()',它告訴它調用它而不是將它作爲參考傳遞:'then(set_file,console.error)' –