总而言之,几乎没有差别,可以混用。但是细究的话,区别需要看语境。
现在完成时强调过去发生的动作“延续”至今,过去时则是强调过去“某个时间节点”曾经发生过。
如果翻译成”And you promised me a surprise.“有可能暗示了对方已经毁约,所以是过去承诺过的,“承诺”的动作已经完成,即不可能兑现承诺了。
如果翻译成“And you've promised me a surprise.”则表示对方还有可能守约,只是提醒对方一下。
举个例子,比如对方约好生日当天给你一个惊喜,但是当天晚上都没有惊喜,你很失望地对对方说“你答应了我一个惊喜”,这时就可以用过去时;与此相对,你在生日前两天提醒对方“你答应了我一个惊喜”就可以用现在完成时。