我想調用可能會遇到錯誤的util
函數。如果發生錯誤,應該終止process
函數。正確拋出錯誤的唯一方法是callback
函數。node.js - 調用回調是否終止當前函數
我會通過返回來終止函數,但由於我在util
函數中,所以函數將在util()
之後繼續。
function util(callback) {
// do something synchronous
if (err) {
// doesn't terminate the process function
// since we are in the util function
return callback("something unexpected happened");
}
}
function process(callback) {
util(callback);
console.log("This should not be printed if an error occurs!");
}
process(function (err) {
if (err) {
// this has to be executed in case of an error
console.log(err);
// terminate the process function somehow?
}
});
我假定你的意思** A **同步在'util',否則你不會使用回調? – Bergi
@Bergi我使用回調,因爲它傳遞給不受我控制的代碼進行處理。 –
我想只有'process'應該調用回調函數,'util'應該是一個標準的同步函數。 – Bergi