你好我找到一个特定工作的模式;
让我说我在带有DOM的页面中找到一个标题
如果找到了标题,则将其放入var标题 如果var title仍为空,则尝试下一个函数 如果var title仍为空,则尝试下一个函数
有更好的方式
// Find Title
output.title = $('title').text();
if (null(output.title)) {
output.title = second try
};
if (null(output.title)) {
output.title = 3rd try
};
etc ?
答案 0 :(得分:1)
我的版本使其更具可扩展性和逻辑性。 使用数组和while循环(使用异步模块):
var functions = [function1, function2, function3]
var i = 0
var output.title // to deal with scope issue of output.title only being defined inside whilst. Could have put output.title as argument for callback
async.whilst(
function () { return i < functions.length && !output.title },
function (callback) {
output.title = functions[i]
i++
callback()
}, function () {
if (output.title) {
//have title
}
else {
// no title was found
}
})