ich die unten Funktion haben, die ein Versprechen Objekt aufruftTesting ein Versprechen Objekt, das eine verschachtelte Rückruf enthält
export const project_list = function(data,res){
return db.any(queries.ProjectList)
.then(function(results){
let newResults = project_list_cleaner(results)
res(null,newResults)
})
.catch(function(err){
res(err)
})
}
Ich versuche, die Funktion wie die unter
it('should retrieve a list',function(){
return expect(project_list(data,res)).to.eventually.be.false
})
dies erhöht ein testen Fehler, weil das Versprechen-Objekt tatsächlich nichts zurückgibt. Es führt den res
Rückruf aus.
Gibt es trotzdem, um zu testen, ob das Versprechen-Objekt den Rückruf ausführt?
Also wäre eine Lösung zu diesem sein, dass ich eine Funktion höherer Ordnung habe, die die Funktion project_list aufruft. Die Funktion höherer Ordnung würde res auf der Grundlage von project_list auflösen oder werfen aufrufen? – Kannaj
Ja. Wenn Sie Promises verwenden können, würde ich sagen, dass Sie die Callback-Funktion so hoch wie möglich schalten und die Kontrolle über den asynchronen Workflow mit Promises beibehalten können, wenn Sie können. – MarcoL
Eine Funktion höherer Ordnung gemacht, um 'res' zu behandeln. danke – Kannaj