我正在学习 Promise 库,但遇到了以下问题。
//Function for getting sum
function getSum(n1, n2) {
var isAnyNegative = function() {
return n1 < 0 || n2 < 0;
}
var promise = new Promise(function(resolve, reject) {
if (isAnyNegative()) {
reject(Error("Negatives not supported"));
}
resolve(n1 + n2)
});
return promise;
}
////Function for getting Difference
function getDiff(n1,n2){
var diff = n1-n2;
setTimeout(function(){
console.log("value of diff--- ", diff)
return diff;
}, 2000)
}
getSum(5,6)
.then(function(callbackResult){
console.log("first callback-Result- ", callbackResult)
return getDiff(14,11);
}, function(error){
//handling error
}) …Run Code Online (Sandbox Code Playgroud) 当我使用 NodeJS 和 Sequelize 连接访问数据库时,我想更改来自 Mysql 数据库的最终输出中的默认列名。我正在使用以下代码进行连接:-
import Sequelize from "sequelize";
let dbConnection = new Sequelize('DB', 'abc', 'password', {
host: '127.0.0.1',
port: 4242,
dialect: 'mysql',
dialectOptions: {
requestTimeout: 0,
},
});
const Listing = dbConnection.define('TableName', {
tour_title: {
type: Sequelize.STRING,
}
}, { freezeTableName: true, timestamps: false });
Run Code Online (Sandbox Code Playgroud)
例如,我只想在最终的续集输出中通过上列中的 tour_name 更改 tour_title。我不希望对数据库列名称进行任何更改。
下面是使用async-waterfall方法的代码段.我怎么能用诺言转换这个.
async.waterfall([
function(callback){
User.update({username: user.username}, {$set: update_list}, function(err, a_user) {
if (err) {
err = new Error();
err.code = 400;
err.message = "Unexpected error occurred."
callback(err)
}
if (!a_user) {
err = new Error();
err.code = 400;
err.message = "User not found."
callback(err)
}else{
callback(null, "updated", user_image);
}
})
}, function(message, user_image, callback){
if(user_image == undefined){
callback(null, "done")
}else{
Bean.update({username: user.username, status:"Active"}, {$set: {user_image:user_image}},{multi:true},function(err, beanUpdated){
if(err){
err = new Error();
err.code = 400;
err.message = "Unexpected error occurred."
callback(err)
}else{ …Run Code Online (Sandbox Code Playgroud)