Tag: 允诺

翻译一个while循环到一个承诺

我试图创build一个报告,扩展了我对Node和MySQL的理解。 我已经确定 ,我需要的每年的date信息将需要每年我要显示。 我现在有一个查询可以返回我需要的正确数据,我只需要在Node环境中重复这个。 从Delphi背景来看,下面的代码将为我提供我需要的数据 LoadTurnover = function (req, reply) { const queryDay = "-04-06"; const maxDate = new Date(); let queryYear = 2000; let qd = new Date(queryYear + queryDay); let dateArray = []; while (qd < maxDate) { // Get the data from the server let data = getData(sql); // let turnoverObj = […]

Promiseifystream

我正在努力promisifystream,但它似乎比我预期的更难。 这是我的尝试: 'use strict' const Promise = require('bluebird') const Twitter = require('twitter') const TwitterStream = module.exports = function TwitterStream (config) { // init Twitter Streaming API for OAuth this.stream = new Twitter({ consumer_key: config.get('/twitter/consumerKey'), consumer_secret: config.get('/twitter/consumerSecret'), access_token_key: config.get('/twitter/accessTokenKey'), access_token_secret: config.get('/twitter/accessTokenSecret') }) .stream('statuses/filter', { track: config.get('/twitter/track') }) } TwitterStream.prototype.receive = function () { return new Promise((resolve, […]

承诺拒绝可能未处理错误:

我有一个使用数组做一些操作的函数。 我想在数组为空时拒绝它。 举个例子 myArrayFunction(){ return new Promise(function (resolve, reject) { var a = new Array(); //some operation with a if(a.length > 0){ resolve(a); }else{ reject('Not found'); } }; } 当拒绝操作发生时,我得到以下错误。 可能未处理错误:未find 不过,当我调用myArrayFunction()时,我有下面的catch。 handlers.getArray = function (request, reply) { myArrayFunction().then( function (a) { reply(a); }).catch(reply(hapi.error.notFound('No array'))); }; 拒绝承诺的正确方法是什么,接受拒绝并回应客户? 谢谢。